After discussion with ebishop, it seems that Confluence is returning the TransactionalCacheFactory service to the cache-compat library . This is peculiar, since it should preferentially export the CacheManager service, and only return the TransactionalCacheFactory if it can't find CacheManager (which should never be the case). My initial tests (with Confluence 5.5-beta1 and cache-compat 1.0.1) confirm that it should work fine, so something specific to Eli's setup is triggering this.
So the problem here's isn't so much that TransactionalCacheManager is only partially implemented, it's that it's being incorrectly selected by the cache-compat library.
Skipping QA as this changeset adds new methods that aren't used anywhere yet.