SerializerFactory::newEntitySerializer only works for Items and Properties. The code that currently uses it should however use a serializer that supports all configured entity types, as returned by WikibaseRepo::getEntityDeserializer. The same applies for get DeserializerFactory::newEntityDeserializer.
SerializerFactory could still have newItemSerializer() and newPropertySerializer() methods. That would be consistent with the idea that this class provides serializers for the basic entity types.
One specific issue caused by code using SerializerFactory::newEntitySerializer instead of instance of WikibaseRepo::getEntityDeserializer is T160426.
Initially, we planned to add support for custom entity types to SerializerFactory, see T157596.
Note that DeserializerFactory::newEntityDeserializer has one usage which could be inlined, and SerializerFactory::newEntitySerializer is only used in tests, where it could be replaced by newItemSerializer, or inlined.