Updated: Comment #N
There is an unwritten assumption that EntityStorageControllerInterface::save() will provide the original entity in $entity->original if the entity is not new (being updated).
This isn't documented that storage controllers should do this, but all of our implementations do it. But yet they do it very differently, because only ConfigEntity has a dedicated method to help with this
ConfigEntityInterface has getOriginalId() and setOriginalId() because it supports renames, but the ability to ask the entity for its original ID is not necessarily Config specific, other entity types can just declare that they have no original ID, and we remove one more thing that calling code (like storage controllers) needs to special case.
Move getOriginalId()/setOriginalId() to EntityInterface
User interface changes
Any code implementing EntityInterface must now implement getOriginalId() and setOriginalId().
If the entity type does not support renames, then getOriginalId() can return NULL, and setOriginalId() can ignore the parameter.