So it seems that GetOneLineHeight() automatically adds a certain percent of the font height as a spacer, around 18%-25%. For example:
Font height, One Line Height:
20 . . . . . 25 (25%)
21 . . . . . 26 (24%)
25 . . . . . 30 (20%)
32 . . . . . 39 (22%)
38 . . . . . 45 (18%)
40 . . . . . 47 (18%)
47 . . . . . 56 (19%)
The added space seems to increment by 2s, not sure why or if that's really accurate though.
So in my code, if I want to ensure 47 line height, I need to set the font at 40
font = font_registry.GetDefaultFont(40, false, false)
fontH = font.GetOneLineHeight()
? fontH
Will print "47"