According to the spec: When an outermost SVG 'svg' element is stand-alone or embedded inline within a parent XML grammar which does not use CSS layout [CSS2-LAYOUT] or XSL formatting [XSL], the 'overflow' property on the outermost 'svg' element is ignored for the purposes of visual rendering and the initial clipping path is set to the bounds of the initial viewport. We need to ignore overflow when being the "root" object, and do our own clipping to the viewport. Hyatt is just about to fix it so that we do not apply overflow on the root object.
Actually, I have a patch which fixes both sides of this issue which I'll attach here once I can untangle it from the rest of the changes in my tree.
Created attachment 5098 [details] Patch that disallows overflow:hidden on <svg>s that are root elements.
I landed the css portion of this patch. There will still need to be additional code to set the initial clipping path to the bounds of the initial SVG viewport.
*** Bug 5977 has been marked as a duplicate of this bug. ***
*** This bug has been marked as a duplicate of 5358 ***