### Godot version

v4.0.beta11.official [91713ced8]

### System information

macOS 13.1

### Issue description

When using a function with a return type of `void` as the return value of another function with a return type of `void`, the following error occurs: 
> Cannot get return value of call to "foo()" because it returns "void"

This wasn't a problem in Godot 3.x and Godot 4.x until now. Seems it's related to https://github.com/godotengine/godot/pull/70702. 

I understand why this is happening, but I'd expect to be able to use functions like this that return `void` because they both use the matching return type. It seems overly strict.

In a real world example I use this to return early when switching states in a FSM:

```gdscript
func _process(_delta: float) -> void:
  if player.is_grounded():
    return state_machine.transition_to("ground") # returns void

  if player.is_on_wall():
    return state_machine.transition_to("wall") # returns void
```

### Steps to reproduce

```gdscript
extends Node

func foo() -> void:
	print("hello")

func _ready() -> void:
	return foo()
```

### Minimal reproduction project

[godot_4_return_value_regression.zip](https://github.com/godotengine/godot/files/10385377/godot_4_return_value_regression.zip)

for (const MethodInfo &E : methods) {
			if (E.name == p_function) {
				function_signature_from_info(E, r_return_type, r_par_types, r_default_arg_count, r_static, r_vararg);
				r_static = Variant::is_builtin_method_static(p_base_type.builtin_type, function_name);
				
				if (!r_static && was_enum && !(E.flags & METHOD_FLAG_CONST)) {
					push_error(vformat(R"*(Cannot call non-const Dictionary function "%s()" on enum "%s".)*", p_function, p_base_type.enum_type), p_source);
				}
				return true;
			}
		}
		return false;
	}
	StringName base_native = p_base_type.native_type;
	if (base_native != StringName()) {
		
		
		if (!class_exists(base_native)) {
			push_error(vformat("Native class %s used in script doesn't exist or isn't exposed.", base_native), p_source);
			return false;
		} else if (p_is_constructor && !ClassDB::can_instantiate(base_native)) {
			if (p_base_type.kind == GDScriptParser::DataType::CLASS) {
				push_error(vformat(R"(Class "%s" cannot be constructed as it is based on abstract native class "%s".)", p_base_type.class_type->fqcn.get_file(), base_native), p_source);
			} else if (p_base_type.kind == GDScriptParser::DataType::SCRIPT) {
				push_error(vformat(R"(Script "%s" cannot be constructed as it is based on abstract native class "%s".)", p_base_type.script_path.get_file(), base_native), p_source);
			} else {
				push_error(vformat(R"(Native class "%s" cannot be constructed as it is abstract.)", base_native), p_source);
			}
			return false;
		}