### 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
if (!data.viewport && data.parent) {
		data.viewport = data.parent->data.viewport;
	}
	data.inside_tree = true;
	for (KeyValue<StringName, GroupData> &E : data.grouped) {
		E.value.group = data.tree->add_to_group(E.key, this);
	}
	notification(NOTIFICATION_ENTER_TREE);
	GDVIRTUAL_CALL(_enter_tree);
	emit_signal(SceneStringNames::get_singleton()->tree_entered);
	data.tree->node_added(this);
	if (data.parent) {
		Variant c = this;
		const Variant *cptr = &c;
		data.parent->emit_signalp(SNAME("child_entered_tree"), &cptr, 1);
	}
	data.blocked++;
	
	for (KeyValue<StringName, Node *> &K : data.children) {
		if (!K.value->is_inside_tree()) { 
			K.value->_propagate_enter_tree();
		}
	}
	data.blocked--;
#ifdef DEBUG_ENABLED
	SceneDebugger::add_to_cache(data.scene_file_path, this);
#endif
	
}
void Node::_propagate_after_exit_tree() {