After reading the librsvg documentation I realized that the svg settings were confusing the library. In this case it is best to set view box dimensions.
The documentation states:
If there are no width or height attributes in the toplevel - librsvg looks for the viewBox attribute. If present, this defines the aspect ratio and a “natural” size in pixels.
https://developer.gnome.org/rsvg/stable/ch02.html#id-1.2.4.2.6
LINE:4 Buy omitting the width and height attribs - we allow the librsvg to do its own interpretation in context.
LINE:26-32 By nesting the vector elements - we wrap the arrow into the text box. This keeps the arrow’s coordinates relative to the text element.
LINE:29 Make the arrow grey to match the text.
Thanks for your patience while I researched this and found a proper fix!
RM