Update: I spent the afternoon systematically debugging this problem, I’m not sure the exact cause, but when I removed the /Saved/Config folder, everything started working normally. I don’t have time to debug it down to the specific file, but it is solved.
I wasn’t aware there was anything in the Saved folder that could affect a project in that way, I have only been removing Intermediate/Binaries directories when I want to clean.