### 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
p_child->data.parent_owned = data.in_constructor;
	add_child_notify(p_child);
	notification(NOTIFICATION_CHILD_ORDER_CHANGED);
	emit_signal(SNAME("child_order_changed"));
}
void Node::add_child(Node *p_child, bool p_force_readable_name, InternalMode p_internal) {
	ERR_FAIL_COND_MSG(data.inside_tree && !Thread::is_main_thread(), "Adding children to a node inside the SceneTree is only allowed from the main thread. Use call_deferred(\"add_child\",node).");
	ERR_THREAD_GUARD
	ERR_FAIL_NULL(p_child);
	ERR_FAIL_COND_MSG(p_child == this, vformat("Can't add child '%s' to itself.", p_child->get_name())); 
	ERR_FAIL_COND_MSG(p_child->data.parent, vformat("Can't add child '%s' to '%s', already has a parent '%s'.", p_child->get_name(), get_name(), p_child->data.parent->get_name())); 
#ifdef DEBUG_ENABLED
	ERR_FAIL_COND_MSG(p_child->is_ancestor_of(this), vformat("Can't add child '%s' to '%s' as it would result in a cyclic dependency since '%s' is already a parent of '%s'.", p_child->get_name(), get_name(), p_child->get_name(), get_name()));
#endif
	ERR_FAIL_COND_MSG(data.blocked > 0, "Parent node is busy setting up children, `add_child()` failed. Consider using `add_child.call_deferred(child)` instead.");
	_validate_child_name(p_child, p_force_readable_name);
	_add_child_nocheck(p_child, p_child->data.name, p_internal);
}
void Node::add_sibling(Node *p_sibling, bool p_force_readable_name) {
	ERR_FAIL_COND_MSG(data.inside_tree && !Thread::is_main_thread(), "Adding a sibling to a node inside the SceneTree is only allowed from the main thread. Use call_deferred(\"add_sibling\",node).");
	ERR_FAIL_NULL(p_sibling);
	ERR_FAIL_COND_MSG(p_sibling == this, vformat("Can't add sibling '%s' to itself.", p_sibling->get_name())); 
	ERR_FAIL_NULL(data.parent);
	ERR_FAIL_COND_MSG(data.parent->data.blocked > 0, "Parent node is busy setting up children, `add_sibling()` failed. Consider using `add_sibling.call_deferred(sibling)` instead.");
	data.parent->add_child(p_sibling, p_force_readable_name, data.internal_mode);
	data.parent->_update_children_cache();
	data.parent->_move_child(p_sibling, get_index() + 1);
}
void Node::remove_child(Node *p_child) {