### Godot version

4.0.1

### System information

Windows 11, Vulkan, ryzen 9 5900X, rx 6700xt

### Issue description

When creating a typed array
(take `var wheels: Array[VehicleWheel3D]` as an example)

and then trying to add a node to the array by referencing it with `$`
(for example `var wheels: Array[VehicleWheel3D] = [$BackLeftWheel]`)

it will return the following error:
_Cannot have an element of type "Node" in an array of type "Array[VehicleWheel3D]"_

I have a theory that this is due to `$MyNode` being the same as `get_node("MyNode")` for the parser and `get_node()` has a return type of `Node`, so the parser thinks that you are trying to append a `Node` to the array (Haven't checked that in the source code, it's just a theory). 

![image](https://user-images.githubusercontent.com/111653551/227974121-e0be38bc-8c99-47f1-adf6-775083805cff.png)

This can be worked around by casting the node as the intended type
(`var wheels: Array[VehicleWheel3D] = [$BackLeftWheel as VehicleWheel3D]`)

### Steps to reproduce

See "Issue description" and "Minimal reproduction project"

### Minimal reproduction project


[Typed Array issue rep project.zip](https://github.com/godotengine/godot/files/11080146/Typed.Array.issue.rep.project.zip)

return err;
			}
			base = ext_parser->get_parser()->head->get_datatype();
		} else {
			if (p_class->extends.is_empty()) {
				push_error("Could not resolve an empty super class path.", p_class);
				return ERR_PARSE_ERROR;
			}
			GDScriptParser::IdentifierNode *id = p_class->extends[extends_index++];
			const StringName &name = id->name;
			base.type_source = GDScriptParser::DataType::ANNOTATED_EXPLICIT;
			if (ScriptServer::is_global_class(name)) {
				String base_path = ScriptServer::get_global_class_path(name);
				if (base_path == parser->script_path) {
					base = parser->head->get_datatype();
				} else {
					Ref<GDScriptParserRef> base_parser = get_parser_for(base_path);
					if (base_parser.is_null()) {
						push_error(vformat(R"(Could not resolve super class "%s".)", name), id);
						return ERR_PARSE_ERROR;
					}
					Error err = base_parser->raise_status(GDScriptParserRef::INHERITANCE_SOLVED);
					if (err != OK) {
						push_error(vformat(R"(Could not resolve super class inheritance from "%s".)", name), id);
						return err;
					}
					base = base_parser->get_parser()->head->get_datatype();
				}
			} else if (ProjectSettings::get_singleton()->has_autoload(name) && ProjectSettings::get_singleton()->get_autoload(name).is_singleton) {
				const ProjectSettings::AutoloadInfo &info = ProjectSettings::get_singleton()->get_autoload(name);