what I mean with "backward compatible with the history" is that one fork would basically have to hard-fork. It would have to add code that decodes the txn in today's way if block < N and decodes the txn in another way if block >= N. Its just another way of tacitly admitting "we are not the real bitcoin".



"Are you basically saying the only way to make fork arbing work is to have everyone coinjoin their coins before they can move them?"



If you want to move them on BOTH forks, you don't have to coinjoin. When you want to move the same coins differently on each fork, then you need to coinjoin on one of the forks with a newly mined coin. This creates a txn that is invalid and therefore ignored on the other fork.



So, yes, your idea of sending your coins to an arb exchange via a single txn on both forks, and then letting that arb exchange coinjoin them is the easiest way to do it. But requires trust.



Another way would be to have a "faucet" of newly mined coins that gives out a fraction of a penny for free. Once you have one of these coins in your wallet, you could use the "advanced feature" where you can select your input coins to mix that fraction of a penny into your other addresses.