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

Array params = method_info_dict["params"];
		for (int j = 0; j < params.size(); j++) {
			Dictionary param = params[j];
			Variant::Type param_type = (Variant::Type)(int)param["type"];
			PropertyInfo arg_info = PropertyInfo(param_type, (String)param["name"]);
			arg_info.usage = (uint32_t)param["usage"];
			mi.arguments.push_back(arg_info);
		}
		p_script->methods.set(push_index++, CSharpMethodInfo{ name, mi });
	}
	
	
	p_script->event_signals.clear();
	
	p_script->event_signals.resize(signals_dict.size());
	push_index = 0;
	for (const Variant *s = signals_dict.next(nullptr); s != nullptr; s = signals_dict.next(s)) {
		StringName name = *s;
		MethodInfo mi;
		mi.name = name;
		Array params = signals_dict[*s];
		for (int i = 0; i < params.size(); i++) {
			Dictionary param = params[i];
			Variant::Type param_type = (Variant::Type)(int)param["type"];
			PropertyInfo arg_info = PropertyInfo(param_type, (String)param["name"]);
			arg_info.usage = (uint32_t)param["usage"];
			mi.arguments.push_back(arg_info);
		}
		p_script->event_signals.set(push_index++, EventSignalInfo{ name, mi });
	}