### Godot version

4.1.beta3 (again)

### System information

4.1.beta3 - Ubuntu 22.04.2 LTS 22.04 - Vulkan (Forward+) - integrated Intel(R) HD Graphics 4400 (HSW GT2) () - Intel(R) Core(TM) i7-4600U CPU @ 2.10GHz (4 Threads)

### Issue description

DocCache is listed in resources.
![image](https://github.com/godotengine/godot/assets/85438892/8a7bccab-a169-438f-b562-8b441396bf88)

If instantiated, it looks like this:
![image](https://github.com/godotengine/godot/assets/85438892/6e165950-19c7-4274-90e2-20527c48ef0d)

I can't find it in the Search Help menu. However, if I type it in the script editor and Ctrl+LMB, it leads to this documentation page:
![image](https://github.com/godotengine/godot/assets/85438892/ae79c3c1-01d8-4f25-a654-c53232968c24)

This is weird, as I just showed the class has properties. Normally, undocumented classes have fields for each undocumented property or method. This makes me think this is unintended. An undocumented class with members normally looks like this:

![image](https://github.com/godotengine/godot/assets/85438892/bbf1f47d-c947-44ac-8f34-c48f4fcad293)


### Steps to reproduce

Outlined above. F1 to open the Search Help menu. This button to create a resource:
![image](https://github.com/godotengine/godot/assets/85438892/e7b3f571-ad30-4b76-91ad-21918792af7b)


### Minimal reproduction project

N/A
GLOBAL_LOCK_FUNCTION;
		MethodBind *bind = create_vararg_method_bind(p_method, p_info, p_return_nil_is_variant);
		ERR_FAIL_COND_V(!bind, nullptr);
		if constexpr (std::is_same<typename member_function_traits<M>::return_type, Object *>::value) {
			bind->set_return_type_is_raw_object_ptr(true);
		}
		return _bind_vararg_method(bind, p_name, p_default_args, true);
	}
	static void bind_method_custom(const StringName &p_class, MethodBind *p_method);
	static void bind_compatibility_method_custom(const StringName &p_class, MethodBind *p_method);
	static void add_signal(const StringName &p_class, const MethodInfo &p_signal);
	static bool has_signal(const StringName &p_class, const StringName &p_signal, bool p_no_inheritance = false);
	static bool get_signal(const StringName &p_class, const StringName &p_signal, MethodInfo *r_signal);
	static void get_signal_list(const StringName &p_class, List<MethodInfo> *p_signals, bool p_no_inheritance = false);
	static void add_property_group(const StringName &p_class, const String &p_name, const String &p_prefix = "", int p_indent_depth = 0);
	static void add_property_subgroup(const StringName &p_class, const String &p_name, const String &p_prefix = "", int p_indent_depth = 0);
	static void add_property_array_count(const StringName &p_class, const String &p_label, const StringName &p_count_property, const StringName &p_count_setter, const StringName &p_count_getter, const String &p_array_element_prefix, uint32_t p_count_usage = PROPERTY_USAGE_DEFAULT);
	static void add_property_array(const StringName &p_class, const StringName &p_path, const String &p_array_element_prefix);
	static void add_property(const StringName &p_class, const PropertyInfo &p_pinfo, const StringName &p_setter, const StringName &p_getter, int p_index = -1);
	static void set_property_default_value(const StringName &p_class, const StringName &p_name, const Variant &p_default);
	static void add_linked_property(const StringName &p_class, const String &p_property, const String &p_linked_property);
	static void get_property_list(const StringName &p_class, List<PropertyInfo> *p_list, bool p_no_inheritance = false, const Object *p_validator = nullptr);
	static bool get_property_info(const StringName &p_class, const StringName &p_property, PropertyInfo *r_info, bool p_no_inheritance = false, const Object *p_validator = nullptr);
	static void get_linked_properties_info(const StringName &p_class, const StringName &p_property, List<StringName> *r_properties, bool p_no_inheritance = false);
	static bool set_property(Object *p_object, const StringName &p_property, const Variant &p_value, bool *r_valid = nullptr);