### Godot version

4.1.rc (c83f912bcb33d441b90afe36bad38880acbe5f15)

### System information

Mageia 9, Linux

### Issue description

Doing some testing with @Riteo, we noticed that my PoC for in-editor API reference with descriptions for GDExtension was no longer working in latest `master` (#75415).

After further testing, I noticed that even without #75415, the editor used to be able to show the skeleton of a GDExtension class' API (without descriptions), but in latest `master`, this no longer works and it loads an empty page.

This appears to be a regression from #76431, reverting it (or at least the `editor` changes) fixes it.

Testing with my [Threen](https://github.com/akien-mga/threen/) extension, trying to load its docs by Ctrl+clicking the `Threen` symbol.

Current `master`:

![image](https://github.com/godotengine/godot/assets/4701338/739f13b9-d274-4176-aff5-8b527f7777c7)

And indeed, the verbose logs show:
```
Class 'EditorPropertyNameProcessor' is not exposed, skipping.
Class 'FramebufferCacheRD' is not exposed, skipping.
Class 'GDScriptEditorTranslationParserPlugin' is not exposed, skipping.
Class 'GDScriptNativeClass' is not exposed, skipping.
Class 'GLTFDocumentExtensionPhysics' is not exposed, skipping.
Class 'GLTFDocumentExtensionTextureWebP' is not exposed, skipping.
Class 'GodotPhysicsServer2D' is not exposed, skipping.
Class 'GodotPhysicsServer3D' is not exposed, skipping.
Class 'IPUnix' is not exposed, skipping.
Class 'MovieWriterMJPEG' is not exposed, skipping.
Class 'MovieWriterPNGWAV' is not exposed, skipping.
Class 'ResourceFormatImporterSaver' is not exposed, skipping.
Class 'ResourceImporterMP3' is not exposed, skipping.
Class 'ResourceImporterOggVorbis' is not exposed, skipping.
Class 'SceneCacheInterface' is not exposed, skipping.
Class 'SceneRPCInterface' is not exposed, skipping.
Class 'SceneReplicationInterface' is not exposed, skipping.
>> Class 'Threen' belongs neither to core nor editor, skipping. <<
Class 'UniformSetCacheRD' is not exposed, skipping.
```

With #76431 reverted:

![image](https://github.com/godotengine/godot/assets/4701338/22350c38-3105-4ce2-baa2-136cce989325)

With #76431 reverted and #75415 rebased (using the [classref](https://github.com/akien-mga/threen/compare/classref) branch for Threen):

![image](https://github.com/godotengine/godot/assets/4701338/bada7e82-45f4-4d3e-95d8-9aba7d0804d6)

That last part is just to give a glimpse of what's coming, this is not the expected behavior for 4.1.

I'll make a PR, just wrote this issue to document it properly.

### Steps to reproduce

- Download https://github.com/akien-mga/threen/releases/tag/1.0-beta3 or compile it from source, or any GDExtension that registers a class
- Load it in a project
- Try to search the class in the "Search Help" dialog, or ctrl+click the matching class name in the script editor

### Minimal reproduction project

See above.
}
	// Add global API (servers, engine singletons, global constants) and Variant utility functions.
	{
		String cname = "@GlobalScope";
		class_list[cname] = DocData::ClassDoc();
		DocData::ClassDoc &c = class_list[cname];
		c.name = cname;
		// Global constants.
		for (int i = 0; i < CoreConstants::get_global_constant_count(); i++) {
			DocData::ConstantDoc cd;
			cd.name = CoreConstants::get_global_constant_name(i);
			cd.is_bitfield = CoreConstants::is_global_constant_bitfield(i);
			if (!CoreConstants::get_ignore_value_in_docs(i)) {
				cd.value = itos(CoreConstants::get_global_constant_value(i));
				cd.is_value_valid = true;
			} else {
				cd.is_value_valid = false;
			}
			cd.enumeration = CoreConstants::get_global_constant_enum(i);
			c.constants.push_back(cd);
		}
		// Servers/engine singletons.
		List<Engine::Singleton> singletons;
		Engine::get_singleton()->get_singletons(&singletons);
		// FIXME: this is kind of hackish...
		for (const Engine::Singleton &s : singletons) {
			DocData::PropertyDoc pd;
			if (!s.ptr) {
				continue;
			}