Currently, EntityChange::getEntityId() is implemented based on BasicEntityIdParser. This will not work for custom entity types.
The serialized representation of the EntityId would either need to contain the class name (e.g. by using native php serialization for this), or getEntityId() needs to have access to the correct (!) EntityIdParser somehow. Or we remove getEntityId(), or make it return a string.