Index: src/wp-admin/edit-form-blocks.php
===================================================================
--- src/wp-admin/edit-form-blocks.php	(revision 43896)
+++ src/wp-admin/edit-form-blocks.php	(working copy)
@@ -325,6 +325,7 @@
 		'post' => $post->ID,
 	)
 );
+wp_tinymce_inline_scripts();
 wp_enqueue_editor();
 
 /**
Index: src/wp-includes/script-loader.php
===================================================================
--- src/wp-includes/script-loader.php	(revision 43896)
+++ src/wp-includes/script-loader.php	(working copy)
@@ -484,8 +484,24 @@
 		'window.wp.oldEditor = window.wp.editor;',
 		'after'
 	);
+}
 
-	// TinyMCE init.
+/**
+ * Adds inline scripts required for the TinyMCE in the block editor.
+ *
+ * These TinyMCE init settings are used to extend and override the default settings
+ * from `_WP_Editors::default_settings()` for the Classic block.
+ *
+ * @since 5.0.0
+ *
+ * @global WP_Scripts $wp_scripts
+ */
+function wp_tinymce_inline_scripts() {
+	global $wp_scripts;
+
+	/** This filter is documented in wp-includes/class-wp-editor.php */
+	$editor_settings = apply_filters( 'wp_editor_settings', array( 'tinymce' => true ), 'classic-block' );
+
 	$tinymce_plugins = array(
 		'charmap',
 		'colorpicker',
@@ -511,6 +527,13 @@
 	$tinymce_plugins = apply_filters( 'tiny_mce_plugins', $tinymce_plugins, 'classic-block' );
 	$tinymce_plugins = array_unique( $tinymce_plugins );
 
+	$disable_captions = false;
+	// Runs after `tiny_mce_plugins` but before `mce_buttons`.
+	/** This filter is documented in wp-admin/includes/media.php */
+	if ( apply_filters( 'disable_captions', '' ) ) {
+		$disable_captions = true;
+	}
+
 	$toolbar1 = array(
 		'formatselect',
 		'bold',
@@ -565,6 +588,14 @@
 		'classic_block_editor' => true,
 	);
 
+	if ( $disable_captions ) {
+		$tinymce_settings['wpeditimage_disable_captions'] = true;
+	}
+
+	if ( ! empty( $editor_settings['tinymce'] ) && is_array( $editor_settings['tinymce'] ) ) {
+		array_merge( $tinymce_settings, $editor_settings['tinymce'] );
+	}
+
 	/* This filter is documented in wp-includes/class-wp-editor.php */
 	$tinymce_settings = apply_filters( 'tiny_mce_before_init', $tinymce_settings, 'classic-block' );
 
@@ -596,7 +627,7 @@
 		}
 	}';
 
-	$scripts->add_inline_script( 'wp-block-library', $script, 'before' );
+	$wp_scripts->add_inline_script( 'wp-block-library', $script, 'before' );
 }
 
 /**
