diff --git a/core/modules/field_ui/src/Form/FieldConfigEditForm.php b/core/modules/field_ui/src/Form/FieldConfigEditForm.php
index 8dc960f87557fb1b09b734f38a1fc2dda38fcc99..b8a004eaaf483bd2f37ca021347cf02e948f1558 100644
--- a/core/modules/field_ui/src/Form/FieldConfigEditForm.php
+++ b/core/modules/field_ui/src/Form/FieldConfigEditForm.php
@@ -136,7 +136,7 @@ public function form(array $form, FormStateInterface $form_state) {
       ]);
 
       if (!$has_required) {
-        $has_default_value = $this->hasAnyElementDefaultValue($element);
+        $has_default_value = count($this->entity->getDefaultValue($form['#entity'])) > 0;
         $element['#states'] = [
           'invisible' => [
             ':input[name="set_default_value"]' => ['checked' => FALSE],
@@ -180,29 +180,6 @@ private function hasAnyRequired(array $element) {
     return $has_required;
   }
 
-  /**
-   * A function to check if element contains elements with #default_value.
-   *
-   * @param array $element
-   *   An element to check.
-   *
-   * @return bool
-   */
-  private function hasAnyElementDefaultValue(array $element) {
-    $has_default_value = FALSE;
-    foreach (Element::children($element) as $child) {
-      if (isset($element[$child]['#default_value']) && $element[$child]['#default_value']) {
-        $has_default_value = TRUE;
-        break;
-      }
-      if (Element::children($element[$child])) {
-        return $this->hasAnyElementDefaultValue($element[$child]);
-      }
-    }
-
-    return $has_default_value;
-  }
-
   /**
    * {@inheritdoc}
    */
diff --git a/core/modules/field_ui/tests/src/Unit/FieldConfigEditFormTest.php b/core/modules/field_ui/tests/src/Unit/FieldConfigEditFormTest.php
index e5b0dbaa3c9cb237760ddf78db07d9ccf6bf5be7..5478d9826fca389388533b2547d548b6447c0929 100644
--- a/core/modules/field_ui/tests/src/Unit/FieldConfigEditFormTest.php
+++ b/core/modules/field_ui/tests/src/Unit/FieldConfigEditFormTest.php
@@ -71,38 +71,4 @@ public function providerRequired(): \Generator {
     ];
   }
 
-  /**
-   * @covers ::hasAnyElementDefaultValue
-   *
-   * @dataProvider providerDefaultValue
-   */
-  public function testHasAnyElementDefaultValueRecursive(array $element, bool $result) {
-    $reflection = new \ReflectionClass('\Drupal\field_ui\Form\FieldConfigEditForm');
-    $method = $reflection->getMethod('hasAnyElementDefaultValue');
-    $method->setAccessible(TRUE);
-    $this->assertEquals($result, $method->invoke($this->fieldConfigEditForm, $element));
-  }
-
-  /**
-   * Provides test cases for detecting default values in a render array.
-   */
-  public function providerDefaultValue(): \Generator {
-    yield 'includes default value' => [
-      [['#default_value' => '🐈']],
-      TRUE,
-    ];
-    yield 'no default value' => [
-      [[]],
-      FALSE,
-    ];
-    yield 'includes default value deep' => [
-      [[[['#default_value' => '🐈']]]],
-      TRUE,
-    ];
-    yield 'includes default value and no default value' => [
-      [['#default_value' => '🐈'], []],
-      TRUE,
-    ];
-  }
-
 }
diff --git a/core/modules/media_library/tests/src/FunctionalJavascript/FieldUiIntegrationTest.php b/core/modules/media_library/tests/src/FunctionalJavascript/FieldUiIntegrationTest.php
index fd99d3c2f29183ff60ca2dc3306018796251b01c..c0f5a9cec7e91334761253bea79bcffbc40ba608 100644
--- a/core/modules/media_library/tests/src/FunctionalJavascript/FieldUiIntegrationTest.php
+++ b/core/modules/media_library/tests/src/FunctionalJavascript/FieldUiIntegrationTest.php
@@ -9,6 +9,11 @@
  */
 class FieldUiIntegrationTest extends MediaLibraryTestBase {
 
+  /**
+   * {@inheritdoc}
+   */
+  protected $strictConfigSchema = FALSE;
+
   /**
    * {@inheritdoc}
    */
@@ -35,6 +40,14 @@ protected function setUp(): void {
     $this->drupalLogin($user);
     $this->drupalCreateContentType(['type' => 'article']);
     $this->drupalCreateContentType(['type' => 'page']);
+    $this->createMediaItems([
+      'type_one' => [
+        'Horse',
+        'Bear',
+        'Cat',
+        'Dog',
+      ],
+    ]);
   }
 
   /**
@@ -47,6 +60,8 @@ public function testFieldUiIntegration() {
       'access administration pages',
       'administer node fields',
       'administer node form display',
+      'view media',
+      'bypass node access',
     ]);
     $this->drupalLogin($user);
 
@@ -67,6 +82,21 @@ public function testFieldUiIntegration() {
     $page->pressButton('Save settings');
     $assert_session->pageTextContains('Saved Shatner configuration.');
 
+    $this->drupalGet('/admin/structure/types/manage/article/fields/node.article.field_shatner');
+    $assert_session->checkboxNotChecked('set_default_value');
+    $page->checkField('set_default_value');
+    $this->assertElementExistsAfterWait('css', "#field_shatner-media-library-wrapper-default_value_input")
+      ->pressButton('Add media');
+    $this->waitForText('Add or select media');
+    $this->selectMediaItem(0);
+    $this->pressInsertSelected();
+
+    $page->pressButton('Save settings');
+    $assert_session->pageTextContains('Saved Shatner configuration.');
+
+    $this->drupalGet('/admin/structure/types/manage/article/fields/node.article.field_shatner');
+    $assert_session->checkboxChecked('set_default_value');
+
     // Create a new instance of an existing field storage and assert that it
     // automatically uses the media library.
     $this->drupalGet('/admin/structure/types/manage/page/fields/reuse');