### Godot version

4.2 1ba920f

### System information

Windows 10.0.19045 - Vulkan (Forward+) - dedicated NVIDIA GeForce GTX 1060 (NVIDIA; 30.0.15.1403) - Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz (8 Threads)

### Issue description

```GDScript
func _ready() -> void:
	$AnimationPlayer.play("new_animation")
	$AnimationPlayer.advance(0)
```
The animation has a single track with Update Mode set to discrete. It does not play, no matter the argument used.
Removing `advance()` will make it play.

Works correctly in rc1.

### Steps to reproduce

1. Run MRP on master
2. Run MRP in 4.2 rc1

### Minimal reproduction project

[brokedvance.zip](https://github.com/godotengine/godot/files/13460977/brokedvance.zip)

if (!backwards && prev_pos <= len && next_pos == len) {
				
				end_reached = true;
				end_notify = prev_pos < len; 
				p_blend = 1.0;
			}
			if (backwards && prev_pos >= 0 && next_pos == 0) {
				
				end_reached = true;
				end_notify = prev_pos > 0; 
				p_blend = 1.0;
			}
		}
	}
	PlaybackInfo pi;
	if (p_started) {
		pi.time = prev_pos;
		pi.delta = 0;
		pi.seeked = true;
	} else {
		pi.time = next_pos;
		pi.delta = delta;
		pi.seeked = p_seeked;
	}
	pi.is_external_seeking = false;
	pi.looped_flag = looped_flag;
	pi.weight = p_blend;
	make_animation_instance(cd.from->name, pi);
}
void AnimationPlayer::_blend_playback_data(double p_delta, bool p_started) {