### 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
Variant ret;
	target_callable.callp(nullptr, 0, ret, ce);
	
	
	t = Ref<Thread>(ObjectDB::get_instance(th_instance_id));
	if (t.is_valid()) {
		t->ret = ret;
		t->running.clear();
	} else {
		
		
	}
	if (ce.error != Callable::CallError::CALL_OK) {
		ERR_FAIL_MSG("Could not call function '" + func_name + "' to start thread " + t->get_id() + ": " + Variant::get_callable_error_text(t->target_callable, nullptr, 0, ce) + ".");
	}
}
Error Thread::start(const Callable &p_callable, Priority p_priority) {
	ERR_FAIL_COND_V_MSG(is_started(), ERR_ALREADY_IN_USE, "Thread already started.");
	ERR_FAIL_COND_V(!p_callable.is_valid(), ERR_INVALID_PARAMETER);
	ERR_FAIL_INDEX_V(p_priority, PRIORITY_MAX, ERR_INVALID_PARAMETER);
	ret = Variant();
	target_callable = p_callable;
	running.set();
	Ref<Thread> *ud = memnew(Ref<Thread>(this));
	::Thread::Settings s;
	s.priority = (::Thread::Priority)p_priority;
	thread.start(_start_func, ud, s);
	return OK;
}
String Thread::get_id() const {