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

List<PropertyInfo> props;
	script->get_script_property_list(&props);
	
	ERR_FAIL_COND(!script.is_valid());
	StringName method = SNAME("_get_property_list");
	Variant ret;
	Callable::CallError call_error;
	bool ok = GDMonoCache::managed_callbacks.CSharpInstanceBridge_Call(
			gchandle.get_intptr(), &method, nullptr, 0, &call_error, &ret);
	
	if (call_error.error != Callable::CallError::CALL_ERROR_INVALID_METHOD) {
		if (call_error.error != Callable::CallError::CALL_OK) {
			ERR_PRINT("Error calling '_get_property_list': " + Variant::get_call_error_text(method, nullptr, 0, call_error));
		} else if (!ok) {
			ERR_PRINT("Unexpected error calling '_get_property_list'");
		} else {
			Array array = ret;
			for (int i = 0, size = array.size(); i < size; i++) {
				p_properties->push_back(PropertyInfo::from_dict(array.get(i)));
			}
		}
	}
	for (const PropertyInfo &prop : props) {
		p_properties->push_back(prop);
	}
}
Variant::Type CSharpInstance::get_property_type(const StringName &p_name, bool *r_is_valid) const {