### Godot version

v4.2.dev3.mono.official [013e8e3af]

### System information

Godot v4.2.dev3.mono - Windows 10.0.22621 - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 3050 Ti Laptop GPU (NVIDIA; 31.0.15.3598) - AMD Ryzen 7 5800H with Radeon Graphics (16 Threads)

### Issue description

When creating and attaching a built-in script to any type of node, trying to drag nodes from the scene-tree results in an error that appears at the bottom-right of the editor, but not in the console window. The error states:

`Can't drop nodes because script 'xxxxxxxx::xxxxxxx' does not inherit Node.`
 Even though the script clearly extends Node or any other type.

### Steps to reproduce

1. Create and add any node type to the scene tree.
2. Attach a new script, choose Built-in from the dialog.
3. Save the scene first, as at the time of writing, Godot suffers from a bug that causes it to crash if the scene was not saved first.
4. Try dragging or even ctrl-dragging a node to the script.
5. Observe the error appear at the bottom-right in a yellow-accent pop-up.
6. Nod and confirm that the bug exists.


### Minimal reproduction project

[can't drag nodes into built-in scripts.zip](https://github.com/godotengine/godot/files/12511196/can.t.drag.nodes.into.built-in.scripts.zip)

Loose files in the archive. Extract into their own folder.
if (template_menu->get_item_count() == 0 && template_inactive_message.is_empty()) {
			template_inactive_message = TTR("No suitable template.");
		}
	} else {
		template_inactive_message = TTR("Empty");
	}
	if (!template_inactive_message.is_empty()) {
		template_menu->set_disabled(true);
		template_menu->clear();
		template_menu->add_item(template_inactive_message);
		validation_panel->set_message(MSG_ID_TEMPLATE, "", EditorValidationPanel::MSG_INFO);
	}
}
ScriptLanguage::ScriptTemplate ScriptCreateDialog::_get_current_template() const {
	int selected_index = template_menu->get_selected();
	for (const ScriptLanguage::ScriptTemplate &t : template_list) {
		if (is_using_templates) {
			if (t.id == selected_index) {
				return t;
			}
		} else {
			// 
			if (t.origin == ScriptLanguage::TemplateLocation::TEMPLATE_BUILT_IN && t.name == "Empty") {
				return t;
			}
		}
	}
	return ScriptLanguage::ScriptTemplate();
}
Vector<ScriptLanguage::ScriptTemplate> ScriptCreateDialog::_get_user_templates(const ScriptLanguage *p_language, const StringName &p_object, const String &p_dir, const ScriptLanguage::TemplateLocation &p_origin) const {