### Godot version

4.0-stable_mono_win64

### System information

Windows 11 22H2

### Issue description

> 
![Script](https://user-images.githubusercontent.com/43518523/224719220-9ab4a56c-2e9c-4c1b-bebe-d62eb23e372b.png)
![Bug](https://user-images.githubusercontent.com/43518523/224719256-34436394-6d89-4a2e-a588-f9f11ae06ea1.png)
Expected: The parameter type of OnChildEnteredTree (underlined) in the dialog is Node, not Object.

### Steps to reproduce

1. Write a public (signal listener) C# function with a Node parameter.
2. Build .NET project.
3. Try to connect some suitable signal (e.g. "child_entered_tree") to that function, and it won't appear in the Pick dialog if `Compatible Methods Only` is on.

### Minimal reproduction project

[SignalParamBug.zip](https://github.com/godotengine/godot/files/10958019/SignalParamBug.zip)

return true;
}
Ref<Script> CSharpLanguage::make_template(const String &p_template, const String &p_class_name, const String &p_base_class_name) const {
	Ref<CSharpScript> scr;
	scr.instantiate();
	String class_name_no_spaces = p_class_name.replace(" ", "_");
	String base_class_name = get_base_class_name(p_base_class_name, class_name_no_spaces);
	String processed_template = p_template;
	processed_template = processed_template.replace("_BINDINGS_NAMESPACE_", BINDINGS_NAMESPACE)
								 .replace("_BASE_", base_class_name)
								 .replace("_CLASS_", class_name_no_spaces)
								 .replace("_TS_", _get_indentation());
	scr->set_source_code(processed_template);
	return scr;
}
Vector<ScriptLanguage::ScriptTemplate> CSharpLanguage::get_built_in_templates(StringName p_object) {
	Vector<ScriptLanguage::ScriptTemplate> templates;
#ifdef TOOLS_ENABLED
	for (int i = 0; i < TEMPLATES_ARRAY_SIZE; i++) {
		if (TEMPLATES[i].inherit == p_object) {
			templates.append(TEMPLATES[i]);
		}
	}
#endif
	return templates;
}
String CSharpLanguage::validate_path(const String &p_path) const {