Your original answer seems sound to me, using the grounds you specified (specifically the fifth and seventh bullet points of the spec).
It seems incredibly unlikely that IE is correct and Webkit and Firefox are not. However, as you suspect the seventh bullet point is the differentiating factor.
If you load this test case in Chrome and use the Developer Tools to inspect the SVG, you will see:
(user agent stylesheet)
svg:not(:root), symbol, image, marker, pattern, foreignObject {
overflow: hidden;
}
If you enable "Show User Agent CSS" in Firebug you see this rule in Firefox:
svg.css (line 49) <System>
svg:not(:root), symbol, image, marker, pattern, foreignObject {
overflow: hidden;
}
Finally, if you edit the test case to add svg { overflow:hidden }
then IE visually matches the other browsers.
Thus, it would seem to me that all three browsers are behaving according to the spec, but Chrome/Safari/FF all have UA rules that more closely match what most users would expect.
If I could leave well-enough alone, this is where I'd stop this answer.
However, if you edit the test case to add svg { overflow:visible }, both Chrome and Firefox do not 'properly' show the overflowed contents. I'm not sure how to resolve this data point with the rest of this answer. :/