### Godot version

4.2 eb4301b

### System information

Windows 10.0.19045 - Vulkan (Forward+) - dedicated NVIDIA GeForce GTX 1060 (NVIDIA; 30.0.15.1403) - Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz (8 Threads)

### Issue description

Sometimes when trying to open a scene from filesystem dock, the editor will crash. It happened 3 times to me already, but I don't know what exactly causes it.
```
[0] FileSystemDock::_select_file (C:\godot_source\editor\filesystem_dock.cpp:1115)
[1] FileSystemDock::_select_file (C:\godot_source\editor\filesystem_dock.cpp:1115)
[2] FileSystemDock::_tree_activate_file (C:\godot_source\editor\filesystem_dock.cpp:1187)
[3] call_with_variant_args_helper<FileSystemDock> (C:\godot_source\core\variant\binder_common.h:308)
[4] call_with_variant_args<FileSystemDock> (C:\godot_source\core\variant\binder_common.h:418)
[5] CallableCustomMethodPointer<FileSystemDock>::call (C:\godot_source\core\object\callable_method_pointer.h:105)
[6] Callable::callp (C:\godot_source\core\variant\callable.cpp:51)
[7] Object::emit_signalp (C:\godot_source\core\object\object.cpp:1073)
[8] Node::emit_signalp (C:\godot_source\scene\main\node.cpp:3577)
[9] Object::emit_signal<> (C:\godot_source\core\object\object.h:891)
[10] Tree::gui_input (C:\godot_source\scene\gui\tree.cpp:3867)
[11] Control::_call_gui_input (C:\godot_source\scene\gui\control.cpp:1806)
[12] Viewport::_gui_call_input (C:\godot_source\scene\main\viewport.cpp:1565)
[13] Viewport::_gui_input_event (C:\godot_source\scene\main\viewport.cpp:1794)
[14] Viewport::push_input (C:\godot_source\scene\main\viewport.cpp:3129)
[15] Window::_window_input (C:\godot_source\scene\main\window.cpp:1482)
[16] call_with_variant_args_helper<Window,Ref<InputEvent> const &,0> (C:\godot_source\core\variant\binder_common.h:303)
[17] call_with_variant_args<Window,Ref<InputEvent> const &> (C:\godot_source\core\variant\binder_common.h:418)
[18] CallableCustomMethodPointer<Window,Ref<InputEvent> const &>::call (C:\godot_source\core\object\callable_method_pointer.h:105)
[19] Callable::callp (C:\godot_source\core\variant\callable.cpp:51)
[20] DisplayServerWindows::_dispatch_input_event (C:\godot_source\platform\windows\display_server_windows.cpp:2612)
[21] DisplayServerWindows::_dispatch_input_events (C:\godot_source\platform\windows\display_server_windows.cpp:2577)
[22] Input::_parse_input_event_impl (C:\godot_source\core\input\input.cpp:722)
[23] Input::flush_buffered_events (C:\godot_source\core\input\input.cpp:979)
[24] DisplayServerWindows::process_events (C:\godot_source\platform\windows\display_server_windows.cpp:2296)
[25] OS_Windows::run (C:\godot_source\platform\windows\os_windows.cpp:1479)
[26] widechar_main (C:\godot_source\platform\windows\godot_windows.cpp:182)
[27] _main (C:\godot_source\platform\windows\godot_windows.cpp:204)
[28] main (C:\godot_source\platform\windows\godot_windows.cpp:218)
[29] WinMain (C:\godot_source\platform\windows\godot_windows.cpp:232)
[30] __scrt_common_main_seh (D:\a\_work\1\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl:288)
[31] <couldn't map PC to fn name>
```

### Steps to reproduce

1. Open a project
2. Open a scene

I think the scene needs to be opened early enough.

### Minimal reproduction project

N/A
Error error;
	Ref<PackedScene> ps = ResourceFormatLoaderText::singleton->load(p_path, p_path, &error);
	ERR_FAIL_COND_V_MSG(!ps.is_valid(), nullptr, "Cannot load scene as text resource from path '" + p_path + "'.");
	Node *scene = ps->instantiate();
	TypedArray<Node> nodes = scene->find_children("*", "MeshInstance3D");
	for (int32_t node_i = 0; node_i < nodes.size(); node_i++) {
		MeshInstance3D *mesh_3d = cast_to<MeshInstance3D>(nodes[node_i]);
		Ref<ImporterMesh> mesh;
		mesh.instantiate();
		
		ImporterMeshInstance3D *importer_mesh_3d = memnew(ImporterMeshInstance3D);
		importer_mesh_3d->set_name(mesh_3d->get_name());
		importer_mesh_3d->set_transform(mesh_3d->get_relative_transform(mesh_3d->get_parent()));
		importer_mesh_3d->set_skin(mesh_3d->get_skin());
		importer_mesh_3d->set_skeleton_path(mesh_3d->get_skeleton_path());
		Ref<ArrayMesh> array_mesh_3d_mesh = mesh_3d->get_mesh();
		if (array_mesh_3d_mesh.is_valid()) {
			
			mesh->set_name(array_mesh_3d_mesh->get_name());
			for (int32_t blend_i = 0; blend_i < array_mesh_3d_mesh->get_blend_shape_count(); blend_i++) {
				mesh->add_blend_shape(array_mesh_3d_mesh->get_blend_shape_name(blend_i));
			}
			for (int32_t surface_i = 0; surface_i < array_mesh_3d_mesh->get_surface_count(); surface_i++) {
				mesh->add_surface(array_mesh_3d_mesh->surface_get_primitive_type(surface_i),
						array_mesh_3d_mesh->surface_get_arrays(surface_i),
						array_mesh_3d_mesh->surface_get_blend_shape_arrays(surface_i),
						array_mesh_3d_mesh->surface_get_lods(surface_i),
						array_mesh_3d_mesh->surface_get_material(surface_i),