Coordinates (center of the circle, points on a path, corners of a polygon) are translated using matrixTransform(getScreenCTM) in svg.toPixel(). This works fine.

The radius of a circle or ellipse is not a coordinate, it is a scalar. All scalars (if used to calculate the position of a tooltip) have this problem. But the only ones that come to mind are radius and stroke-width. If you have a stroke-width of say 1000 and zoomed out using viewBox by factor of 100 you would also be off the screen. If you take the stroke-width into account at all.