### Godot version

4.1.1

### System information

Linux Mint, Godot 4.1.1

### Issue description

Hi,

I've extended my own class, which extends "Node2D".
Now, in the create node menu, the icon from the "Node" class is displayed instead of the icon from the extended "Node2d"-class.

Here is a screenshot to show how it looks:
![Bildschirmfoto vom 2023-07-28 10-18-12](https://github.com/godotengine/godot/assets/34768615/378773cb-e47c-4cde-adeb-2444802058d7)

But after you create the node, the correct Icon is picked:

![Bildschirmfoto vom 2023-07-28 10-20-07](https://github.com/godotengine/godot/assets/34768615/3e8dc583-55fa-401e-a574-2d97297333a6)

Regards
abgenullt

### Steps to reproduce

Extend from a custom class and check the icon in the menu.

### Minimal reproduction project

[InheritTest.zip](https://github.com/godotengine/godot/files/12192148/InheritTest.zip)

return tab_closing_menu_option == FILE_QUIT || tab_closing_menu_option == RUN_PROJECT_MANAGER || tab_closing_menu_option == RELOAD_CURRENT_PROJECT;
}
void EditorNode::_scene_tab_closed(int p_tab) {
	current_menu_option = SCENE_TAB_CLOSE;
	tab_closing_idx = p_tab;
	Node *scene = editor_data.get_edited_scene_root(p_tab);
	if (!scene) {
		_discard_changes();
		return;
	}
	String scene_filename = scene->get_scene_file_path();
	String unsaved_message;
	if (EditorUndoRedoManager::get_singleton()->is_history_unsaved(editor_data.get_scene_history_id(p_tab))) {
		if (scene_filename.is_empty()) {
			unsaved_message = TTR("This scene was never saved.");
		} else {
			
			
			
			const uint64_t last_modified_seconds = Time::get_singleton()->get_unix_time_from_system() - MAX(started_timestamp, FileAccess::get_modified_time(scene->get_scene_file_path()));
			String last_modified_string;
			if (last_modified_seconds < 120) {
				last_modified_string = vformat(TTRN("%d second ago", "%d seconds ago", last_modified_seconds), last_modified_seconds);
			} else if (last_modified_seconds < 7200) {