### Godot version

v4.1.rc1.official [1f9e540f1]

### System information

Windows 10

### Issue description

Attempting to reorder the children of a TabContainer results in an unintended ordering and incorrect undo states.

Also happens in v4.0.3.stable.official [5222a99f5].

https://github.com/godotengine/godot/assets/3820082/2c2458e3-88ad-46d9-8a04-f289a049984a



### Steps to reproduce

1. Add a new TabContainer
2. Add a few children to it
3. Drag and drop to erroneously reorder them
4. Attempt to undo the change

### Minimal reproduction project

N/A
return data.unique_name_in_owner;
}
void Node::set_owner(Node *p_owner) {
	ERR_MAIN_THREAD_GUARD
	if (data.owner) {
		_clean_up_owner();
	}
	ERR_FAIL_COND(p_owner == this);
	if (!p_owner) {
		return;
	}
	Node *check = this->get_parent();
	bool owner_valid = false;
	while (check) {
		if (check == p_owner) {
			owner_valid = true;
			break;
		}
		check = check->data.parent;
	}
	ERR_FAIL_COND_MSG(!owner_valid, "Invalid owner. Owner must be an ancestor in the tree.");
	_set_owner_nocheck(p_owner);
	if (data.unique_name_in_owner) {
		_acquire_unique_name_in_owner();
	}
}
Node *Node::get_owner() const {