### Godot version

4.1.1

### System information

windows 11

### Issue description

When registering a type with class_name and using that class name to declare a variable in code only, autocomplete works as expected anywhere in other nodes/scenes. However, if making a custom scene node that extends a script with the class_name, if that custom scene is instantiated in a different scene, even if the type is specified, it only shows the parent node's functions and not any of the extended functionality. I have made a basic project showing the issue

### Steps to reproduce

I have made a very simple project showing the issue. https://github.com/mmmmmmmmmmmmmmmmmmmdonuts/godot_4_autocomplete_issue essentially, the extended Node scene will only show the custom function when both the type is specified as well as the type afterwards following "as" 
e.g. `@onready var my_class_4: MyClass = $MyClass4 as MyClass`

### Minimal reproduction project

https://github.com/mmmmmmmmmmmmmmmmmmmdonuts/godot_4_autocomplete_issue
if (!p_only_functions && p_context.current_suite) {
		
		_find_identifiers_in_suite(p_context.current_suite, r_result);
	}
	if (p_context.current_class) {
		_find_identifiers_in_class(p_context.current_class, p_only_functions, (!p_context.current_function || p_context.current_function->is_static), false, r_result, p_recursion_depth);
	}
	List<StringName> functions;
	GDScriptUtilityFunctions::get_function_list(&functions);
	for (const StringName &E : functions) {
		MethodInfo function = GDScriptUtilityFunctions::get_function_info(E);
		ScriptLanguage::CodeCompletionOption option(String(E), ScriptLanguage::CODE_COMPLETION_KIND_FUNCTION);
		if (function.arguments.size() || (function.flags & METHOD_FLAG_VARARG)) {
			option.insert_text += "(";
		} else {
			option.insert_text += "()";
		}
		r_result.insert(option.display, option);
	}
	if (p_only_functions) {
		return;
	}
	_find_built_in_variants(r_result);
	static const char *_keywords[] = {
		"true", "false", "PI", "TAU", "INF", "NAN", "null", "self", "super",
		"break", "breakpoint", "continue", "pass", "return",
		nullptr
	};
	const char **kw = _keywords;
	while (*kw) {