So, I ended giving up finding a "proper" solution.
Instead, I ended up installing the new Firefox, and creating a blank profile. Then (without Firefox running) I copied all the files from the root of the old profile that had been modified during the last month.
The I made a guesstimate of which folders I ought to copy - e.g. skipping stuff like "cache2" and "OfflineCache", but including stuff like "browser-extension-data" and "storage". (Worth noting: session state, like open tabs, are not in "sessionstore.js" anymore - when Firefox is closed it's written to "sessionstore.jsonlz4", and there's lz4-compressed backups in "sessionstore-backups"... as well as periodically flushed current session state in "recovery.baklz4").
With semi-cleaned-up profile, I was able to start Firefox and have everything working again, yay!
It would be nice to know wtf caused the problems, but there's so many files and folders in a Firefox profile that I can't stomach the detective work. But obviously it's files that haven't been modified for a month that's still being read and causing issues. There's files in my old profile folder that haven't been modified since 2007...
It would have been nice to be able to do an export/import kind of thing instead of the manual copying, there's still probably old crud in the fixed-up profile that's not necessary. But hey, at least things work now!