### Godot version

v4.1.1.stable.official [bd6af8e0e]

### System information

Windows 10

### Issue description

As said in the Title Custom Class Documentation a Function cannot return 'Variant' and will instead be shown to return void, even though Built-in Classes are shown to return 'Variant', an example would be 'Array'
![image](https://github.com/godotengine/godot/assets/34311843/fb8ad532-c37a-43c0-a95f-d70af7ea6894)
![image](https://github.com/godotengine/godot/assets/34311843/3cc1e07b-02e1-4f33-bc98-0fa016b4d864)

### Steps to reproduce

```gdscript
extends Node
class_name CustomClass

func VariantFunction() -> Variant:
	return 10
``` 
Now when checking the Generated Documentation it will appear like: `void VariantFunction()`

### Minimal reproduction project

N/A
} break;
			case GDP::ClassNode::Member::VARIABLE: {
				const GDP::VariableNode *m_var = member.variable;
				const StringName &var_name = m_var->identifier->name;
				p_script->member_lines[var_name] = m_var->start_line;
				DocData::PropertyDoc prop_doc;
				prop_doc.name = var_name;
				prop_doc.description = m_var->doc_data.description;
				prop_doc.is_deprecated = m_var->doc_data.is_deprecated;
				prop_doc.is_experimental = m_var->doc_data.is_experimental;
				GDType dt = m_var->get_datatype();
				switch (dt.kind) {
					case GDType::CLASS:
						prop_doc.type = _get_class_name(*dt.class_type);
						break;
					case GDType::VARIANT:
						prop_doc.type = "Variant";
						break;
					case GDType::ENUM:
						prop_doc.type = Variant::get_type_name(dt.builtin_type);
						
						prop_doc.enumeration = String(dt.native_type).replace("::", ".");
						break;
					case GDType::NATIVE:;
						prop_doc.type = dt.native_type;
						break;
					case GDType::BUILTIN:
						prop_doc.type = Variant::get_type_name(dt.builtin_type);
						break;
					default: