### 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
int enabled_notification = 0;
	if (prev_enabled && !next_enabled) {
		enabled_notification = NOTIFICATION_DISABLED;
	} else if (!prev_enabled && next_enabled) {
		enabled_notification = NOTIFICATION_ENABLED;
	}
	_propagate_process_owner(data.process_owner, pause_notification, enabled_notification);
#ifdef TOOLS_ENABLED
	
	
	if (Engine::get_singleton()->is_editor_hint()) {
		get_tree()->emit_signal(SNAME("tree_process_mode_changed"));
	}
#endif
}
void Node::_propagate_pause_notification(bool p_enable) {
	bool prev_can_process = _can_process(!p_enable);
	bool next_can_process = _can_process(p_enable);
	if (prev_can_process && !next_can_process) {
		notification(NOTIFICATION_PAUSED);
	} else if (!prev_can_process && next_can_process) {
		notification(NOTIFICATION_UNPAUSED);
	}
	data.blocked++;
	for (KeyValue<StringName, Node *> &K : data.children) {
		K.value->_propagate_pause_notification(p_enable);
	}
	data.blocked--;
}
Node::ProcessMode Node::get_process_mode() const {