### 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.
ClassDB::bind_method(D_METHOD("set_time_left", "time"), &SceneTreeTimer::set_time_left);
	ClassDB::bind_method(D_METHOD("get_time_left"), &SceneTreeTimer::get_time_left);
	ADD_PROPERTY(PropertyInfo(Variant::FLOAT, "time_left", PROPERTY_HINT_NONE, "suffix:s"), "set_time_left", "get_time_left");
	ADD_SIGNAL(MethodInfo("timeout"));
}
void SceneTreeTimer::set_time_left(double p_time) {
	time_left = p_time;
}
double SceneTreeTimer::get_time_left() const {
	return MAX(time_left, 0.0);
}
void SceneTreeTimer::set_process_always(bool p_process_always) {
	process_always = p_process_always;
}
bool SceneTreeTimer::is_process_always() {
	return process_always;
}
void SceneTreeTimer::set_process_in_physics(bool p_process_in_physics) {
	process_in_physics = p_process_in_physics;
}
bool SceneTreeTimer::is_process_in_physics() {
	return process_in_physics;
}
void SceneTreeTimer::set_ignore_time_scale(bool p_ignore) {
	ignore_time_scale = p_ignore;
}
bool SceneTreeTimer::is_ignore_time_scale() {
	return ignore_time_scale;
}
void SceneTreeTimer::release_connections() {