### Godot version

Godot 4.1-dev (ed63b9ea23)

### System information

Manjaro Gnome

### Issue description

`thread.start(test.bind(0))` prints the following error:

```
ERROR: Caller thread can't call this function in this node. Use call_deferred() or call_thread_group() instead.
   at: get_script (scene/main/node.cpp:3536)
```



### Steps to reproduce

```
func _ready() -> void:
	var thread := Thread.new()
	thread.start(test.bind(0))

func test(i: int) -> void:
	pass
```

### Minimal reproduction project

N/A
return ::OS::get_singleton()->get_environment(p_var);
}
void OS::set_environment(const String &p_var, const String &p_value) const {
	::OS::get_singleton()->set_environment(p_var, p_value);
}
void OS::unset_environment(const String &p_var) const {
	::OS::get_singleton()->unset_environment(p_var);
}
String OS::get_name() const {
	return ::OS::get_singleton()->get_name();
}
String OS::get_distribution_name() const {
	return ::OS::get_singleton()->get_distribution_name();
}
String OS::get_version() const {
	return ::OS::get_singleton()->get_version();
}
Vector<String> OS::get_video_adapter_driver_info() const {
	return ::OS::get_singleton()->get_video_adapter_driver_info();
}
Vector<String> OS::get_cmdline_args() {
	List<String> cmdline = ::OS::get_singleton()->get_cmdline_args();
	Vector<String> cmdlinev;
	for (const String &E : cmdline) {
		cmdlinev.push_back(E);
	}
	return cmdlinev;
}
Vector<String> OS::get_cmdline_user_args() {