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

String name = p_name;
	if (name.begins_with("playback/play")) { 
		set_current_animation(p_value);
	} else if (name.begins_with("next/")) {
		String which = name.get_slicec('/', 1);
		animation_set_next(which, p_value);
	} else if (p_name == SceneStringNames::get_singleton()->blend_times) {
		Array array = p_value;
		int len = array.size();
		ERR_FAIL_COND_V(len % 3, false);
		for (int i = 0; i < len / 3; i++) {
			StringName from = array[i * 3 + 0];
			StringName to = array[i * 3 + 1];
			float time = array[i * 3 + 2];
			set_blend_time(from, to, time);
		}
#ifndef DISABLE_DEPRECATED
	} else if (p_name == "method_call_mode") {
		set_callback_mode_method(static_cast<AnimationCallbackModeMethod>((int)p_value));
	} else if (p_name == "playback_process_mode") {
		set_callback_mode_process(static_cast<AnimationCallbackModeProcess>((int)p_value));
	} else if (p_name == "playback_active") {
		set_active(p_value);
#endif 
	} else {
		return false;
	}
	return true;
}
bool AnimationPlayer::_get(const StringName &p_name, Variant &r_ret) const {