I think fungibility and transparency of money supply are two separate things. No reason you can't have both.
That said, thank you for making the point about fungibility being better off as a wallet-level concern by way of widespread CoinJoin implementation.
I hadn't considered this before (that is, the optimality of making it an "optional" feature keeping the base layer as pure, generic and effective as possible allowing things to be built on top of it.).
Not sold completely -- but you broke my previous conviction and have me thinking about it now 😄.