### Godot version

4.0.1

### System information

Windows 11

### Issue description

When you have binds set for a given signal in the editor and then duplicate the node with ctrl + D, it does not maintain the bind values; they are simply ignored. I can't imagine this is not a bug, so reporting it. If absolutely needed, I can produce a repro project for this, it's just very simple and probably an obvious bug somewhere in the duplication code.

### Steps to reproduce

1. Create a basic project. (One is not included because the issue requires actually doing the steps, rather than looking at what's there.)
2. Create a Node2D as the root of a scene. Give it an Area2D.
3. Add a script to the Node2D and connect the area_entered signal of Area2D to the Node2D's script, including one or more extra bound values in the advanced editor.
4. Duplicate the Area2D; note that the signal connections themselves are duplicated, but the binds array has not been.

### Minimal reproduction project

N/A
ERR_FAIL_COND_MSG(data.inside_tree && !Thread::is_main_thread(), "Changing the process thread group can only be done from the main thread. Use call_deferred(\"set_process_thread_group\",mode).");
	if (data.process_thread_group == p_mode) {
		return;
	}
	if (!is_inside_tree()) {
		
		data.process_thread_group = p_mode;
		return;
	}
	_remove_tree_from_process_thread_group();
	if (data.process_thread_group != PROCESS_THREAD_GROUP_INHERIT) {
		_remove_process_group();
	}
	data.process_thread_group = p_mode;
	if (p_mode == PROCESS_THREAD_GROUP_INHERIT) {
		if (data.parent) {
			data.process_thread_group_owner = data.parent->data.process_thread_group_owner;
		} else {
			data.process_thread_group_owner = nullptr;
		}
	} else {
		data.process_thread_group_owner = this;
		_add_process_group();
	}
	_add_tree_to_process_thread_group(data.process_thread_group_owner);
	notify_property_list_changed();
}
Node::ProcessThreadGroup Node::get_process_thread_group() const {