I wanted to give an update on my progress with this issue.
I have found a way to get it to work following the advice from Rceleca.
I removed my Exchange account from "Internet Accounts" and also removed everything from the V6 folder in Mail.
I then removed any entries in KeyChain that mention Exchange.
Next I re-added my Exchange Account, using the "Automatically find settings" option, but only selected "Mail" and "Calendar" as items to sync.
Shortly after doing this I was asked to re-authenticate my Exchange details on both my iPad and iPhone (presumably because I'd just deleted their KeyChain details from iCloud).
It took three days! But all of my Mail has now synced, and (so far) I've not had Exchange disappear from my Mac. (It's been over a week now, which is as long as it's ever worked for).
For reference, I've attached a screenshot of my entire KeyChain entry that mentions "Exchange".
There are three sets of Exchange oAuth keys, one for my Mac, one for my iPhone, and one for my iPad.
I hope this helps anyone else with the same problem.
I've not yet re-enabled contacts, as from this thread it would appear that can cause it to barf. I'd much rather live without contacts than live without iCloud Keychain.
Good luck all!