I was facing a similar problem: Some fonts were loaded and rendered properly, but later, after some navigation, they started to render incorrectly (falling back to the system font). I checked all the fonts used, and the problem only occurred with fonts lacking 'name tables in the font.'
Fontname: null
Family Name: null
Name For Humans: null
The solution was to write that information into the font, and we haven't had any problems since. I used this script: https://github.com/chrissimpkins/fontname.py
Execution (your experience may vary):
python3 -m venv ./venv
source ./venv/bin/activate
python3 -m pip install fonttools
python3 fontname.py 'My Font Name' './My Font Name.otf'
Cleanup:
deactivate
rm -rf ./venv
python3 -m pip uninstall fonttools