First of all. Are ... and ... the same?
Assuming your entity type class doesn't override Entity::load
to do something different, yes they are the same. If you look at that method you can see it uses exactly the same op:
public static function load($id) {
$entity_type_repository = \Drupal::service('entity_type.repository');
$entity_type_manager = \Drupal::entityTypeManager();
$storage = $entity_type_manager
->getStorage($entity_type_repository
->getEntityTypeFromClass(get_called_class()));
return $storage
->load($id);
}
So Entity::load
is simply a shortcut to loading the entity via the manager service.
When I talk directly to the class's load function also?
They're identical operations, so yes, they share the same caching.