Per AaronSchulz, it should be possible to phase out these tables and a prefixed set of rows in the objectcache tables instead.
We can't use the "main" or "anything" object cache directly (e.g. $wgMainCacheType wfGetMainCache() or wfGetCache(CACHE_ANYTHING)) because last I checked we need these rows to be treated as one cohesive unit that won't have individual rows disappear based on LRU or some other algorithm.
Conceptually each of these tables is like a big blob that one could store in one cache key. It's build out into a table to allow fast querying of individual pieces (presumably because loading it all into memory is unacceptable), as well as selective updating of multiple rows in one atomic write action.
We could use either CACHE_DB (forced to use SqlBagOStuff, which persists, in the main database by default like the old tables, doesn't get purged by anything other than the provided ttl). Or make it its own cache type (like message cache, parser cache, and session cache) that defaults to CACHE_DB but allows users aware of the required contract to use a different backend.