diff --git a/packages/e2e-tests/plugins/interactive-blocks.php b/packages/e2e-tests/plugins/interactive-blocks.php
index fe40ae10d4c05e..f9a089a78e0dfc 100644
--- a/packages/e2e-tests/plugins/interactive-blocks.php
+++ b/packages/e2e-tests/plugins/interactive-blocks.php
@@ -7,6 +7,13 @@
* @package gutenberg-test-interactive-blocks
*/
+/*
+ * Simulates the WordPress core feature that marks the style assets managed by
+ * the Interactivity API router, which is not available in the WordPress
+ * version bundled with `wp-env`.
+ */
+require_once __DIR__ . '/interactive-blocks/router-styles-managed/router-managed-styles.php';
+
add_action(
'init',
function () {
diff --git a/packages/e2e-tests/plugins/interactive-blocks/router-styles-managed/block.json b/packages/e2e-tests/plugins/interactive-blocks/router-styles-managed/block.json
new file mode 100644
index 00000000000000..bd7a3eee44b060
--- /dev/null
+++ b/packages/e2e-tests/plugins/interactive-blocks/router-styles-managed/block.json
@@ -0,0 +1,16 @@
+{
+ "$schema": "https://schemas.wp.org/trunk/block.json",
+ "apiVersion": 3,
+ "name": "test/router-styles-managed",
+ "title": "E2E Interactivity tests - router styles - Managed wrapper",
+ "category": "text",
+ "icon": "heart",
+ "description": "",
+ "supports": {
+ "interactivity": true
+ },
+ "textdomain": "e2e-interactivity",
+ "viewScriptModule": "file:./view.js",
+ "viewStyle": "file:./style.css",
+ "render": "file:./render.php"
+}
diff --git a/packages/e2e-tests/plugins/interactive-blocks/router-styles-managed/render.php b/packages/e2e-tests/plugins/interactive-blocks/router-styles-managed/render.php
new file mode 100644
index 00000000000000..81d81ae99de290
--- /dev/null
+++ b/packages/e2e-tests/plugins/interactive-blocks/router-styles-managed/render.php
@@ -0,0 +1,111 @@
+
+
>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Hydrated
+
+
+
+
+ Client-side navigation
+
+
diff --git a/packages/e2e-tests/plugins/interactive-blocks/router-styles-managed/router-managed-styles.php b/packages/e2e-tests/plugins/interactive-blocks/router-styles-managed/router-managed-styles.php
new file mode 100644
index 00000000000000..c14b8d6fd3b66f
--- /dev/null
+++ b/packages/e2e-tests/plugins/interactive-blocks/router-styles-managed/router-managed-styles.php
@@ -0,0 +1,88 @@
+` and `` element
+ * it renders with an empty `data-wp-router-managed` attribute, so the router
+ * can tell them apart from the style assets injected at runtime by scripts
+ * unaware of it. That feature is not available in the WordPress version
+ * bundled with `wp-env`, so this file reproduces it with an output buffer for
+ * those pages containing the `test/router-styles-managed` block.
+ *
+ * @package gutenberg-test-interactive-blocks
+ */
+
+/**
+ * Adds the `data-wp-router-managed` attribute to every style asset in the
+ * passed HTML.
+ *
+ * Style elements inside `