Unit 'ch' should be interpreted as 0.5em
https://www.w3.org/TR/css-values-3/#ch says:
In the cases where it is impossible or impractical to determine the measure of the “0” glyph, it must be assumed to be 0.5em wide by 1em tall. Thus, the ch unit falls back to 0.5em in the general case, and to 1em when it would be typeset upright (i.e. writing-mode is vertical-rl or vertical-lr and text-orientation is upright).
And librsvg doesn't appear to respect that (according to my librsvg-enabled imagemagick build).
I've landed a couple similar fixes in other (python) svg libraries: