diff --git a/core/lib/Drupal/Core/Entity/ContentEntityType.php b/core/lib/Drupal/Core/Entity/ContentEntityType.php
index 322c208917..225b2e4d30 100644
--- a/core/lib/Drupal/Core/Entity/ContentEntityType.php
+++ b/core/lib/Drupal/Core/Entity/ContentEntityType.php
@@ -18,15 +18,6 @@ class ContentEntityType extends EntityType implements ContentEntityTypeInterface
    * {@inheritdoc}
    */
   public function __construct($definition) {
-    // In order to provide BC only add the revision_default revision metadata
-    // key if the revision metadata keys are defined in the annotation but don't
-    // contain the revision_default key. If the revision metadata keys are not
-    // set in the entity type annotation then the revision metadata key for
-    // "revision_default" will be found by the BC layer provided in
-    // ::getRevisionMetadataKeys().
-    if (!empty($definition['revision_metadata_keys']) && !isset($definition['revision_metadata_keys']['revision_default'])) {
-      $definition['revision_metadata_keys']['revision_default'] = 'revision_default';
-    }
     parent::__construct($definition);
 
     $this->handlers += [
@@ -78,16 +69,10 @@ public function getRevisionMetadataKeys($include_backwards_compatibility_field_n
         @trigger_error('The revision_log_message revision metadata key is not set.', E_USER_DEPRECATED);
         $this->revision_metadata_keys['revision_log_message'] = $revision_log;
       }
-      if (isset($base_fields['revision_default'])) {
-        // We don't throw a deprecation warning for the "revision_default"
-        // revision metadata key, as it is internal key and automatically added
-        // to all revisionable entity types. When this BC layer is removed we'll
-        // just directly add the key in the constructor without the condition
-        // that we currently have there.
-        $this->revision_metadata_keys['revision_default'] = 'revision_default';
-      }
     }
-    return $this->revision_metadata_keys;
+    return $this->revision_metadata_keys + [
+      'revision_default' => 'revision_default',
+    ];
   }
 
   /**
diff --git a/core/lib/Drupal/Core/Entity/EntityFieldManager.php b/core/lib/Drupal/Core/Entity/EntityFieldManager.php
index 4ac7c64c68..9afafd9ae8 100644
--- a/core/lib/Drupal/Core/Entity/EntityFieldManager.php
+++ b/core/lib/Drupal/Core/Entity/EntityFieldManager.php
@@ -227,7 +227,7 @@ protected function buildBaseFieldDefinitions($entity_type_id) {
       // Disable the BC layer to prevent a recursion if the entity type
       // annotation doesn't define the revision metadata keys.
       $revision_metadata_keys_no_bc = $entity_type->getRevisionMetadataKeys(FALSE);
-      $field_name = isset($revision_metadata_keys_no_bc['revision_default']) ? $revision_metadata_keys_no_bc['revision_default'] : 'revision_default';
+      $field_name = $revision_metadata_keys_no_bc['revision_default'];
       $base_field_definitions[$field_name] = BaseFieldDefinition::create('boolean')
         ->setLabel($this->t('Default revision'))
         ->setDescription($this->t('A flag indicating whether this was a default revision when it was saved.'))
