### Godot version

4.0 beta 12 mono

### System information

MacOS 13.1, Apple M1 Pro

### Issue description

When `text_editor/external/use_external_editor` is set to true but `text_editor/external/exec_path` is not set and I create a new script and attach it to a node Godot freezes and i need to force quit the application.
Also after a restart when double clicking on the script the application freezes but I can quit normally

### Steps to reproduce

- Set Use External Editor to true in Editor Settings and leave Exec Path empty
- Create a new project with Moblie Renderer and Git Versioning in Godot
- Create a 3D Scene
- Create a gd script in the FileSystem inspector or directly attach the script to a node

### Minimal reproduction project

[New Game Project.zip](https://github.com/godotengine/godot/files/10420510/New.Game.Project.zip)

ResourceLoader::get_recognized_extensions_for_type("Script", &extensions);
			file_dialog->clear_filters();
			for (int i = 0; i < extensions.size(); i++) {
				file_dialog->add_filter("*." + extensions[i], extensions[i].to_upper());
			}
			for (const String &E : textfile_extensions) {
				file_dialog->add_filter("*." + E, E.to_upper());
			}
			file_dialog->popup_file_dialog();
			file_dialog->set_title(TTR("Open File"));
			return;
		} break;
		case FILE_REOPEN_CLOSED: {
			if (previous_scripts.is_empty()) {
				return;
			}
			String path = previous_scripts.back()->get();
			previous_scripts.pop_back();
			List<String> extensions;
			ResourceLoader::get_recognized_extensions_for_type("Script", &extensions);
			bool built_in = !path.is_resource_file();
			if (extensions.find(path.get_extension()) || built_in) {
				if (built_in) {
					String res_path = path.get_slice("::", 0);
					if (ResourceLoader::get_resource_type(res_path) == "PackedScene") {
						if (!EditorNode::get_singleton()->is_scene_open(res_path)) {
							EditorNode::get_singleton()->load_scene(res_path);
						}
					} else {
						EditorNode::get_singleton()->load_resource(res_path);