Index: src/wp-includes/blocks.php
===================================================================
--- src/wp-includes/blocks.php	(revision 52732)
+++ src/wp-includes/blocks.php	(working copy)
@@ -127,7 +127,12 @@
 	}
 
 	if ( ! empty( $metadata['textdomain'] ) && in_array( 'wp-i18n', $script_dependencies, true ) ) {
-		wp_set_script_translations( $script_handle, $metadata['textdomain'] );
+		$translations_path = null;
+		if ( ! empty( $metadata['domainpath'] ) ) {
+			list( $plugin_name ) = explode( '/', dirname( plugin_basename( $script_path_norm ) ) );
+			$translations_path   = WP_PLUGIN_DIR . '/' . $plugin_name . $metadata['domainpath'];
+		}
+		wp_set_script_translations( $script_handle, $metadata['textdomain'], $translations_path );
 	}
 
 	return $script_handle;
@@ -221,6 +226,7 @@
  * @since 5.5.0
  * @since 5.7.0 Added support for `textdomain` field and i18n handling for all translatable fields.
  * @since 5.9.0 Added support for `variations` and `viewScript` fields.
+ * @since 6.0.0 Added support for `domainpath` field.
  *
  * @param string $file_or_folder Path to the JSON file with metadata definition for
  *                               the block or path to the folder where the `block.json` file is located.
