CachingFallbackLabelDescriptionLookup doesn’t support federated properties, because they don’t have a working implementation of getLatestRevisionId(). (See T312780 for some more context.) Instead, create a new FallbackLabelDescriptionLookup implementation, which wraps both a LanguageFallbackLabelDescriptionLookup and a CachingFallbackLabelDescriptionLookup (not necessarily requiring these interfaces), and forwards most calls to the Caching one, but calls for federated property IDs to the Language one.
The FallbackLabelDescriptionLookupFactory should return this new class, so that both the factory and its output can be used with any entity type, even if federated properties don’t have a working entity revision lookup yet. (This loses caching for federated properties, but that should be okay; properties can’t be redirects anyways, so that part doesn’t matter.)
Later, this implementation could be removed once there is a working EntityRevisionLookup for federated properties. (It wouldn’t need to support looking up arbitrary entity IDs, only getLatestRevisionId() in fact.)