### 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)

AnimationMixer::_animation_removed(p_name, p_library);
	StringName name = p_library == StringName() ? p_name : StringName(String(p_library) + "/" + String(p_name));
	if (!animation_set.has(name)) {
		return; 
	}
	_animation_set_cache_update();
	
	List<BlendKey> to_erase;
	for (const KeyValue<BlendKey, double> &E : blend_times) {
		BlendKey bk = E.key;
		if (bk.from == name || bk.to == name) {
			to_erase.push_back(bk);
		}
	}
	while (to_erase.size()) {
		blend_times.erase(to_erase.front()->get());
		to_erase.pop_front();
	}
}
void AnimationPlayer::_rename_animation(const StringName &p_from_name, const StringName &p_to_name) {