### 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_
	List<Ref<SceneTreeTimer>>::Element *L = timers.back(); 
	for (List<Ref<SceneTreeTimer>>::Element *E = timers.front(); E;) {
		List<Ref<SceneTreeTimer>>::Element *N = E->next();
		if ((paused && !E->get()->is_process_always()) || (E->get()->is_process_in_physics() != p_physics_frame)) {
			if (E == L) {
				break; 
			}
			E = N;
			continue;
		}
		double time_left = E->get()->get_time_left();
		if (E->get()->is_ignore_time_scale()) {
			time_left -= Engine::get_singleton()->get_process_step();
		} else {
			time_left -= p_delta;
		}
		E->get()->set_time_left(time_left);
		if (time_left <= 0) {
			E->get()->emit_signal(SNAME("timeout"));
			timers.erase(E);
		}
		if (E == L) {
			break; 
		}
		E = N;
	}
}
void SceneTree::process_tweens(double p_delta, bool p_physics) {