A long time ago with XNA I did some similar research. I seem to recall discovering that you can do runtime content pipeline loading. Google probably has a lot of hits for this, so that’s one option.
The advantage here is that you can get the font you want, when you need it, but the downside is that you can end up loading many, many fonts throughout the runtime of your program. This can lead to a lot of unnecessary memory overhead. You could write a manager to unload fonts that haven’t been used in a while I suppose, but this could be a pain.
The extreme alternative of this is to just load a single font of some size, then let a SpriteBatch handle the scaling for you. This lets you avoid loading a lot of fonts via your content pipeline and having them hanging out in memory, but it can also result in a lack of clarity for your scaled fonts. Through some testing I did a while back, scaling was pretty good within a certain amount of the font size, but after that you start to get some pixelation, even with texture filtering.
I never did implement this, but my plan at the time was to create some font breakpoints. Like, create spritefonts for my text at a fixed set of sizes. Then use spritebatch scaling to get the inbetween sizes. So like, have fonts built-in for sizes { 12, 24, 32, 72 }. Then if I needed, say, a font size of 16, I would just pick the 12 font size and scale it up (or the 24 font size and scale it down.
This all to say, I don’t really know what the best solution is, but those are some possible ideas to explore/play with
Good luck!