Well, I was right. The issue turned out to be an odd interaction between lib_juce/juce_opengl and the AMD driver GL library.
I noticed that 2.1.7 community 32 bit still showed fonts, and started doing a diff to see what might be happening. Found the hand off, and it told me where to look in the headers for libglx-mesa0 and… the interface changed. Old entrypoints were still in there, but they changed a bunch of later functions, and appear to have left in stubs that don’t do anything.
So juce was handing off render objects that required GL (fonts, and some UX elements), which GL was dropping on the floor and returning null objects.
If I step all the way back to JUCE 6.0.8, all the fonts are back.
6.0.8 uses a legacy GL api that is still supported in the AMD drivers.
This weirdness in in the commercial AMD supplied drivers AND the open source ones. So I kinda get the feeling that AMD is plundering the open source xdna-driver git repo. LOL.
Anyway, I hope this prevents anyone else from going spare.
Roll back the JUCE in lib_juce to 6.0.8 and make sure you have amdgpu-core 1:7:2 or earlier (max version tested, might work on later)