Alright it turns out that Tusky (and maybe Pinafore too, not sure) rely on the fact that Mastodon generates sequential IDs for statuses (newer = bigger).
In Tusky's case at least, the ID of a status is used to sort the internal cache.
This explains why Tusky tends to go a bit bananas on GoToSocial if you start scrolling down (and it therefore loads from cache): it's because GtS uses purely random UUIDs as status IDs to avoid leaking metadata.
Not sure yet how to get around this one.
@f0x that's an option that hadn't occurred to me.... that could work, indeed