### 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)

scr->pending_reload_state.clear();
				continue;
			}
		} else {
			bool success = GDMonoCache::managed_callbacks.ScriptManagerBridge_TryReloadRegisteredScriptWithClass(scr.ptr());
			if (!success) {
				
				scr->pending_reload_instances.clear();
				scr->pending_reload_state.clear();
				continue;
			}
		}
		StringName native_name = scr->get_instance_base_type();
		{
			for (const ObjectID &obj_id : scr->pending_reload_instances) {
				Object *obj = ObjectDB::get_instance(obj_id);
				if (!obj) {
					scr->pending_reload_state.erase(obj_id);
					continue;
				}
				if (!ClassDB::is_parent_class(obj->get_class_name(), native_name)) {
					
					scr->pending_reload_state.erase(obj_id);
					continue;
				}
				ScriptInstance *si = obj->get_script_instance();
				
				
				bool replace_placeholder = scr->pending_replace_placeholders.has(obj->get_instance_id());
				if (!scr->is_tool() && scr->was_tool_before_reload) {