Attribute underline-position of element <font-face> seems to get negatived . Compared to attributes overline-position and strikethrough-position, this appears as unexpected. Apparently none of the SVG test fonts use underline-position and the default value looks fine. See getLineMetrics(int,int) in SVGGVTFont.java for the assignment to ulOffset without - in front of variable scale.
It might also be nice if stroke-width of underline would scale with font-size.