Probably we are talking about different things.
Here is a super basic example that demonstrates the difference:
http://codepen.io/se7en/pen/ZQoeLy
display:none - Turns off the display of an element (it has no effect on layout); all descendant elements also have their display turned off. The document is rendered as though the element did not exist.
https://developer.mozilla.org/en-US/docs/Web/CSS/display
visibility:hidden - The box is invisible (fully transparent, nothing is drawn), but still affects layout.
https://developer.mozilla.org/en-US/docs/Web/CSS/visibility
My exact situation is a bit too complicated to create a pen for it. I am not "display:none" the svg directly, but a div that contains (among other things) inline SVGs. In the codepen above setting the height to 0 has the same visible effect as display:none (you don't even need to set visibility to hidden) but in my more complicated structure setting visibility:hidden, height:0 and width:0, does not have the same effect as display:none. Some other things inside that div prevent it from totally collapsing.