### 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)

if (p_resource->get_path().is_resource_file()) {
			file->set_current_file(p_resource->get_path().get_file());
		} else {
			if (extensions.size()) {
				String resource_name_snake_case = p_resource->get_class().to_snake_case();
				file->set_current_file("new_" + resource_name_snake_case + "." + preferred.front()->get().to_lower());
			} else {
				file->set_current_file(String());
			}
		}
	} else if (!p_resource->get_path().is_empty()) {
		file->set_current_path(p_resource->get_path());
		if (extensions.size()) {
			String ext = p_resource->get_path().get_extension().to_lower();
			if (extensions.find(ext) == nullptr) {
				file->set_current_path(p_resource->get_path().replacen("." + ext, "." + extensions.front()->get()));
			}
		}
	} else if (preferred.size()) {
		String existing;
		if (extensions.size()) {
			String resource_name_snake_case = p_resource->get_class().to_snake_case();
			existing = "new_" + resource_name_snake_case + "." + preferred.front()->get().to_lower();
		}
		file->set_current_path(existing);
	}
	file->set_title(TTR("Save Resource As..."));
	file->popup_file_dialog();
}
void EditorNode::_menu_option(int p_option) {