What do you think is causing Bitcoin Core to show that available balance? Is it "confused" or caught up in a transaction history that... just doesn't exist?
This can only happen if your node is not fully synced, in your first post you said you've already synced it so this shouldn't have happened.
Try using
listunspent to see which outputs does your node thinks are unspent and then check the transaction IDs in your Electrum to see if they all exist in your history tab*. If they don't that means you haven't imported one address with a bigger balance.
* Assuming you have imported those keys in your Electrum, to search in your history tab go to that tab and press ctrl+f and paste the txid in the textbox that appears at the bottom of the window.
* You can also check the txids in a block explorer.
Thanks, that is interesting. I've checked a few of the bigger outputs listed under 'listunspent' on Blockchair and they're all at zero.
One other thing that I should have mentioned earlier, perhaps: I am running Bitcoin Core in 'prune mode', ie under Options I've got the checkbox ticked to prune block storage to 2GB rather than the entire ~350GB blockchain
However, my understanding is that using 'prune mode' shouldn't affect the wallet's available balance, as Bitcoin Core still has to go through and verify every historical transaction.
Could it be that the majority of the ~12BTC is caught somewhere in the past, and has actually been spent in 2012-2014 (by me), but for some reason the client thinks it's still available in 2021? How odd...