As OSUblake said:
If you have an element at 0,0 and tween it to 100,100 using x and y, and then get it's bounding box, it will say it's still at 0,0. This goes for all transforms, x, y, scale, rotation, etc. Not very useful considering most animations use transforms.
So, if you want to move an SVG object o1 to absolute coordinates determined by another SVG object o2, why not just determine the position of o2 like that:
var o2Rect = o2.getBoundingClientRect;
var svgRect = svgContainer.getBoundingClientRect; // the <svg> container element
var x = o2Rect.x - svgRect.x;
var y = o2Rect.y - svgRect.y;
This seems to be a very simple and working solution. Any objections / caveats?