### Godot version

v4.0.beta17.official [c40020513]

### System information

Windows 11 Pro

### Issue description

In AnimationPlayer, Audio Playback Track does not work in the middle of playback, as in v3.5.1.stable.official [6fed1ffa3]

### Steps to reproduce

(Do on both versions)
Add root node -> Node
Add AnimationPlayer and AudioStreamPlayer
![image](https://user-images.githubusercontent.com/91904840/216308659-d0327455-73e9-48d6-93b3-b33f4c8f1ccc.png)

Add new animation, Add Audio Playback Track
Drag & Drop audio test.ogg on track with a time offset of 1
![image](https://user-images.githubusercontent.com/91904840/216308947-391718d9-1e9c-4418-9f82-3cc9b6075cff.png)

Play animation before the start of the track, at the beginning of the track and somewhere during the track (turn on the sound)

v 3.5.1

https://user-images.githubusercontent.com/91904840/216314742-80982bb9-23a3-4eb5-8e98-249c3531aa66.mp4

v 4.0.beta17


https://user-images.githubusercontent.com/91904840/216314798-23f212f2-c386-4dc1-8946-648e5f8f2467.mp4




You'll notice, that on version 4.0.beta17 Audio Playback Track does not work in the middle of playback!




### Minimal reproduction project

Normal playback
[godot_3.5.1.zip](https://github.com/godotengine/godot/files/10568517/godot_3.5.1.zip)

Cracked playback
[godot_4.0.beta17.zip](https://github.com/godotengine/godot/files/10568519/godot_4.0.beta17.zip)

Animation::TrackType track_type = anim->track_get_type(i);
			Animation::TrackType track_cache_type = track_type;
			if (track_cache_type == Animation::TYPE_POSITION_3D || track_cache_type == Animation::TYPE_ROTATION_3D || track_cache_type == Animation::TYPE_SCALE_3D) {
				track_cache_type = Animation::TYPE_POSITION_3D; //
			}
			TrackCache *track = nullptr;
			if (track_cache.has(path)) {
				track = track_cache.get(path);
			}
			//
			if (track && (track->type != track_cache_type || ObjectDB::get_instance(track->object_id) == nullptr)) {
				playing_caches.erase(track);
				memdelete(track);
				track_cache.erase(path);
				track = nullptr;
			}
			if (!track) {
				Ref<Resource> resource;
				Vector<StringName> leftover_path;
				Node *child = parent->get_node_and_resource(path, resource, leftover_path);
				if (!child) {
					ERR_PRINT("AnimationTree: '" + String(E) + "', couldn't resolve track:  '" + String(path) + "'");
					continue;
				}
				if (!child->is_connected("tree_exited", callable_mp(this, &AnimationTree::_node_removed))) {
					child->connect("tree_exited", callable_mp(this, &AnimationTree::_node_removed).bind(child));
				}
				switch (track_type) {
					case Animation::TYPE_VALUE: {
						TrackCacheValue *track_value = memnew(TrackCacheValue);