This point has surely been made a few times by others, but you can’t actually correct the mistakes because the existing contracts will never go away. If you could migrate or otherwise get rid of old contracts, I wouldn’t have any issue and might even be excited about EOF. It might be on your roadmap, but I see no practical way to migrate existing contracts, and at least it’s a huge effort for what amounts to O(10%) cost reduction.
Your reply about it looking the same to EVM developers does not sound right to me. I regularly drop down to assembly blocks and I basically have evm.codes open all day long. It’s critical to understand exactly how the EVM works and what solidity is doing under the hood when gas or safety matters, and I also need to know how EOF contracts interact with non-EOF contracts and vice versa.
I don’t think it’s even desirable to have that metadata on-chain. You can just simulate the transaction off chain, and/or the dapp will contain the logic for determining the slots that are touched. If you priced the theoretical mandatory access lists TX correctly, then the dapps would be incentivized to be as precise/accurate as possible.