### Godot version

v4.1.beta1.mono.official [828ec2c5d]

### System information

Godot v4.1.beta1.mono - Windows 10.0.22621 - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 4070 Ti (NVIDIA; 31.0.15.3598) - 13th Gen Intel(R) Core(TM) i5-13600K (20 Threads)

### Issue description

After the recent refactoring (https://github.com/godotengine/godot/pull/75901), Node process priority seems to be unimplemented. `ComparatorWithPriority` is no longer used anywhere in the engine code.

Nodes behave as if they all had the same priority, and running with `--single-threaded-scene` makes no difference.

### Steps to reproduce

Run the MRP, look at the order in which the nodes print their names.

In Godot 4.0.3: First, Default, Last
In Godot 4.1-beta1: Default, First, Last

### Minimal reproduction project

[ProcessPriorityBug.zip](https://github.com/godotengine/godot/files/11693028/ProcessPriorityBug.zip)

_THREAD_SAFE_METHOD_
	HashMap<StringName, Group>::Iterator E = group_map.find(p_group);
	if (!E) {
		E = group_map.insert(p_group, Group());
	}
	ERR_FAIL_COND_V_MSG(E->value.nodes.has(p_node), &E->value, "Already in group: " + p_group + ".");
	E->value.nodes.push_back(p_node);
	
	E->value.changed = true;
	return &E->value;
}
void SceneTree::remove_from_group(const StringName &p_group, Node *p_node) {
	_THREAD_SAFE_METHOD_
	HashMap<StringName, Group>::Iterator E = group_map.find(p_group);
	ERR_FAIL_COND(!E);
	E->value.nodes.erase(p_node);
	if (E->value.nodes.is_empty()) {
		group_map.remove(E);
	}
}
void SceneTree::make_group_changed(const StringName &p_group) {
	_THREAD_SAFE_METHOD_
	HashMap<StringName, Group>::Iterator E = group_map.find(p_group);
	if (E) {
		E->value.changed = true;
	}
}
void SceneTree::flush_transform_notifications() {