### Godot version

master [75f9c97deaa8378477441e07ea1782ecab6d2eca]

### System information

Godot v4.2.dev (262d1eaa6) - Ubuntu 20.04.6 LTS (Focal Fossa) - X11 - Vulkan (Forward+) - dedicated AMD Radeon RX 6800 XT - AMD Ryzen 9 5900X 12-Core Processor (24 Threads)

### Issue description

Running a dev build on both Linux and Windows reaches the following crash:

```
TextServer: Primary interface set to: "ICU / HarfBuzz / Graphite (Built-in)".
CORE API HASH: 2795494918
EDITOR API HASH: 1481585570
ERROR: FATAL: DEV_ASSERT failed  "!api_hashes_cache.has(p_api)" is false.
   at: set_current_api (core/object/class_db.cpp:59)
```

Call stack (Linux):

```
1 ClassDB::set_current_api                class_db.cpp        59   0x9c77bf6 
2 EditorSettings::ensure_class_registered editor_settings.cpp 883  0x639a96a 
3 EditorNode::EditorNode                  editor_node.cpp     6825 0x61badd9 
4 Main::start                             main.cpp            3085 0x4a6e353 
5 main                                    godot_linuxbsd.cpp  72   0x49c9d0d 
```

Call stack (Windows):

```
>	godot.windows.editor.dev.x86_64.exe!ClassDB::set_current_api(ClassDB::APIType p_api) Line 58	C++
 	godot.windows.editor.dev.x86_64.exe!EditorSettings::ensure_class_registered() Line 886	C++
 	godot.windows.editor.dev.x86_64.exe!EditorNode::EditorNode() Line 6826	C++
 	godot.windows.editor.dev.x86_64.exe!Main::start() Line 3085	C++
 	godot.windows.editor.dev.x86_64.exe!widechar_main(int argc, wchar_t * * argv) Line 179	C++
 	godot.windows.editor.dev.x86_64.exe!_main() Line 204	C++
 	godot.windows.editor.dev.x86_64.exe!main(int argc, char * * argv) Line 218	C++
 	godot.windows.editor.dev.x86_64.exe!WinMain(HINSTANCE__ * hInstance, HINSTANCE__ * hPrevInstance, char * lpCmdLine, int nCmdShow) Line 232	C++
 	[Inline Frame] godot.windows.editor.dev.x86_64.exe!invoke_main() Line 102	C++
```


### Steps to reproduce

Compile with (possibly not all of those flags are needed):

`scons platform=linuxbsd optimize=none debug_symbols=True tests=False dev_mode=True dev_build=True use_llvm=yes use_lld=yes  opengl3=no openxr=no`

Open a project on the editor with:

Working folder: The project's path
Arguments: `-e --verbose`

**The --verbose argument is important!**

### Other info (for bisect)

It must've broken somewhere between 75f9c97deaa8378477441e07ea1782ecab6d2eca and 6588a4a29af1621086feac0117d5d4d37af957fd since it was working fine before that.

**Update:** It's possible I'm wrong about the bisecting info, because the problem started when I added `--verbose` to the cmd line.

### Workaround

Just commenting out the assert runs fine.

### Minimal reproduction project

Any.
EditorFileDialog::set_default_display_mode((EditorFileDialog::DisplayMode)EDITOR_GET("filesystem/file_dialog/display_mode").operator int());
			bool theme_changed =
					EditorSettings::get_singleton()->check_changed_settings_in_group("interface/theme") ||
					EditorSettings::get_singleton()->check_changed_settings_in_group("interface/editor/font") ||
					EditorSettings::get_singleton()->check_changed_settings_in_group("interface/editor/main_font") ||
					EditorSettings::get_singleton()->check_changed_settings_in_group("interface/editor/code_font") ||
					EditorSettings::get_singleton()->check_changed_settings_in_group("text_editor/theme") ||
					EditorSettings::get_singleton()->check_changed_settings_in_group("text_editor/help/help") ||
					EditorSettings::get_singleton()->check_changed_settings_in_group("filesystem/file_dialog/thumbnail_size") ||
					EditorSettings::get_singleton()->check_changed_settings_in_group("run/output/font_size") ||
					EditorSettings::get_singleton()->check_changed_settings_in_group("interface/touchscreen/increase_scrollbar_touch_area") ||
					EditorSettings::get_singleton()->check_changed_settings_in_group("interface/touchscreen/scale_gizmo_handles");
			if (theme_changed) {
				theme = create_custom_theme(theme_base->get_theme());
				DisplayServer::set_early_window_clear_color_override(true, theme->get_color(SNAME("background"), SNAME("Editor")));
				theme_base->set_theme(theme);
				gui_base->set_theme(theme);
				get_window()->set_theme(theme);
				gui_base->add_theme_style_override("panel", gui_base->get_theme_stylebox(SNAME("Background"), SNAME("EditorStyles")));
				main_vbox->set_anchors_and_offsets_preset(Control::PRESET_FULL_RECT, Control::PRESET_MODE_MINSIZE, gui_base->get_theme_constant(SNAME("window_border_margin"), SNAME("Editor")));
				main_vbox->add_theme_constant_override("separation", gui_base->get_theme_constant(SNAME("top_bar_separation"), SNAME("Editor")));
				scene_root_parent->add_theme_style_override("panel", gui_base->get_theme_stylebox(SNAME("Content"), SNAME("EditorStyles")));
				bottom_panel->add_theme_style_override("panel", gui_base->get_theme_stylebox(SNAME("BottomPanel"), SNAME("EditorStyles")));
				tabbar_panel->add_theme_style_override("panel", gui_base->get_theme_stylebox(SNAME("tabbar_background"), SNAME("TabContainer")));
				scene_tabs->add_theme_constant_override("icon_max_width", gui_base->get_theme_constant(SNAME("class_icon_size"), SNAME("Editor")));
				scene_tab_add_ph->set_custom_minimum_size(scene_tab_add->get_minimum_size());
				main_menu->add_theme_style_override("hover", gui_base->get_theme_stylebox(SNAME("MenuHover"), SNAME("EditorStyles")));
			}
			scene_tabs->set_max_tab_width(int(EDITOR_GET("interface/scene_tabs/maximum_width")) * EDSCALE);
			_update_scene_tabs();