the stale gradient thing is real and nobody warns you about it up front. i spent a week convinced my lr schedule was broken when it was just staleness quietly doing its own thing to every update
I want to push back on the framing a little. Every large training run already does things you cannot fully explain, including the ones on tidy homogeneous clusters. Data order, hardware nondeterminism and mixed precision all leave fingerprints that nobody audits.
The honest version of your point is narrower and I think stronger: heterogeneous async training makes the unexplainable part large enough that you can no longer pretend it is noise. That is a good reason to prefer it for fine-tuning over pretraining, but it is a difference of degree rather than of kind.