I indeed assumed the beacon chain (or the shards) would host protocol-related data or precompiles.
But I did not see clear proposals (and use cases) for caching highly used, user-defined smart contracts and (some of) their storage. And I did not find proposals about how this caching can be done through automatic parameters that would avoid governance and bloating the cache while still being useful.
We arrived at the idea that such a cache would be useful on a shard, while working on dType since March, EthCC 2019 (dType was born while working on Pipeline visual IDE and functional programming).
Protocol-level data makes sense on the beacon chain, but user data should be more flexible to add/remove from the global scope cache, based on usage.