It was brought to my attention that savestates definitely can cause desyncs.
Issue
9561 exposed that the behavior of a stage loading can change if loading from a savestate. I'm not too technically minded in Dolphin, but if it can cause a huge difference like that, then it may explain why some users are running into desyncs.
I've done a lot of work in Netplay, which uses a lot of the same features and determinism as TASing. The one difference that I know of in netplay is that we cannot use savestates during a netplay session. In 190 hours of testing in preparation of 5.0, I had zero desyncs that were not caused by my negligence. Hell, I even managed to do a disc swap without desyncing!
Anyway, I don't have the means to fix the bug but I feel like it needs to be documented permanently somewhere. This bug is going to get fixed someday, and with it, one of our leads to fixing desyncs in Dolphin could be gone too.