### Godot version

4.2-rc1

### System information

Windows 11

### Issue description

The issue does not exist on Godot 4.1.3, only in 4.2

When you call `seek()` on the AnimationPlayer, the animation does not update instantly and freezes for a brief moment.
So if you need to switch multiple animations in a short amount of time while also calling `seek()`, the animation will just stop.

### Steps to reproduce

- Add a Sprite2D
- Set a spritesheet for the Sprite2D
- Add an AnimationPlayer
- Create a Property animation track and add some frames
- Loop the animation
- Create a different animation for the same sprite an loop it
- Switch between animations and call `seek()` when you do

### Minimal reproduction project

The included project demonstrates the issue perfectly (I know that calling `play()` and `seek()` on each `_process()` is a bit overkill, but it does allow for a better demonstration). The same project works perfectly in Godot 4.1.3.

[AnimationBug.zip](https://github.com/godotengine/godot/files/13400011/AnimationBug.zip)

if (blend_times.has(bk)) {
				blend_time = blend_times[bk];
			} else {
				bk.from = c.current.from->name;
				bk.to = "*";
				if (blend_times.has(bk)) {
					blend_time = blend_times[bk];
				}
			}
		}
		if (p_custom_blend < 0 && blend_time == 0 && default_blend_time) {
			blend_time = default_blend_time;
		}
		if (blend_time > 0) {
			Blend b;
			b.data = c.current;
			b.blend_left = 1.0;
			b.blend_time = blend_time;
			c.blend.push_back(b);
		} else {
			c.blend.clear();
		}
	}
	if (get_current_animation() != p_name) {
		_clear_caches();
	}
	c.current.from = &animation_set[name];
	c.current.speed_scale = p_custom_scale;
	if (!end_reached) {
		playback_queue.clear();