Index: src/wp-includes/script-loader.php
===================================================================
--- src/wp-includes/script-loader.php	(revision 53578)
+++ src/wp-includes/script-loader.php	(working copy)
@@ -3523,7 +3523,14 @@
 		wp_add_inline_style( 'wp-block-library', $styles );
 	};
 
-	add_action( 'wp_loaded', $fn_register_webfonts );
+	/*
+	 * Webfonts need to be properly loaded and available:
+	 * - In the block editor, both in the normal Edit screen and the Site Editor.
+	 * - In REST API calls for the editor, because some styles get added via REST calls.
+	 * - On the front end.
+	 * The 'wp' action is one of the very few that work for all cases.
+	 */
+	add_action( 'wp', $fn_register_webfonts );
 	add_action( 'wp_enqueue_scripts', $fn_generate_and_enqueue_styles );
 	add_action( 'admin_init', $fn_generate_and_enqueue_editor_styles );
 }
