I wasn't able to reproduce at first, but then went back after being distracted by some other stuff and was able to reproduce the issue. This lead me to realize it's time based and I can now reproduce consistently...
After 30s pdf.js runs a cleanup method that removes any font faces that it added to the document to save memory. When you go to print Firefox creates a static clone of document and it's fonts, but at that time all the fonts have been removed from the document. As Firefox goes through and then prints each PDF page, pdf.js does try to reload the fonts, but they are unfortunately loaded into the original document, not the static clone.
To fix this we'll need to expose a way for pdf.js to load a font into the static clone during a mozPrintCallback.