It's quite odd that computing the caret position and the glyph position don't agree, but it might indeed be a bug in the fond itself ("monospace" generally is an alias for the default monospaced font), or how one of the component use it.
If you'd like and have time for it, it could be nice to try and debug this further. For that you should try and find out which font "monospace" resolves to (`fc-match monospace` should tell you), and report your results to [Scintilla](https://sourceforge.net/p/scintilla/bugs/), possibly after trying out whether [SciTE](https://www.scintilla.org/SciTE.html) exhibits the problem (highly likely if Geany does). Maybe more details are needed that I don't know, and maybe it's specific to your distro in which case more research might be required.