Update
Someone else encountered a similar situation when downloading a footprint file from UltraLibrarian. I looked here for clues:
However their issue was that the “Footprint” property (in the symbol file) didn’t match the footprint filename, or had a slash, or they had an old KiCad (v6). None of these situations applies in my case. The footprint property in my symbol file is “CON10_2X5_DUK_FTSH_SAI” and the name of my footprint file is “CON10_2X5_DUK_FTSH_SAI.kicad_mod”. My KiCad is v9. So this is not my issue.
Could there be something going on with these suspicious KICAD7 and KICAD9 environment variables? (suspicious in the sense that their existence implies that I’m supposed to know which one to use, when ultralibrarian just said “KiCad 6+” and the files themselves make no mention of v7 or v9) But I tried both variables and the result was the same: symbol found, but footprint is “invalid”.