### Godot version

4.1 dev3

### System information

Windows 11, Forward+, Intel 13700k, 4070ti

### Issue description

In 4.0.x and in 4.1 dev2, if you overwrite the rotation of a bone in `_process` it has preferred over the currently running animation. In 4.1 dev3, the running animation takes precedence and overwrites any changes in `_process`. This happens both with a simple animation and with an animation tree, and happens in-editor and in-game.

### Steps to reproduce

1. Open the attached project.
2. Click on `AnimationPlayer` and pick an animation, e.g. `Armature|Standing`. Set it to looping if it's not already. (@RandomShaper's note: and play it).
3. Click on the `PointOfInterest` and move it along the X axis.
4. If you're on:
    - 4.0.x or 4.1-dev2: Notice the head rotating
    - 4.1-dev3: Notice that nothing happens

### Minimal reproduction project

[BoneRotationIssue-4.0.3.zip](https://github.com/godotengine/godot/files/11582187/BoneRotationIssue-4.0.3.zip)
[BoneRotationIssue-4.1-dev.zip](https://github.com/godotengine/godot/files/11582188/BoneRotationIssue-4.1-dev.zip)


Should include all licensing stuff for the model, but let me just add [the link](https://opengameart.org/content/human-model-ready-for-animation) for good measure.
}
	}
#endif 
	root->set_physics_object_picking(GLOBAL_DEF("physics/common/enable_object_picking", true));
	root->connect("close_requested", callable_mp(this, &SceneTree::_main_window_close));
	root->connect("go_back_requested", callable_mp(this, &SceneTree::_main_window_go_back));
	root->connect("focus_entered", callable_mp(this, &SceneTree::_main_window_focus_in));
#ifdef TOOLS_ENABLED
	edited_scene_root = nullptr;
#endif
	process_groups.push_back(&default_process_group);
}
SceneTree::~SceneTree() {
	if (root) {
		root->_set_tree(nullptr);
		root->_propagate_after_exit_tree();
		memdelete(root);
	}
	// Process groups are not deleted immediately, they may remain around. Delete them now.
	for (uint32_t i = 0; i < process_groups.size(); i++) {
		if (process_groups[i] != &default_process_group) {
			memdelete(process_groups[i]);
		}
	}
	memdelete(process_group_call_queue_allocator);
	if (singleton == this) {
		singleton = nullptr;
	}
}