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

BlendKey bk;
	bk.from = p_animation1;
	bk.to = p_animation2;
	if (blend_times.has(bk)) {
		return blend_times[bk];
	} else {
		return 0;
	}
}
void AnimationPlayer::get_argument_options(const StringName &p_function, int p_idx, List<String> *r_options) const {
	String pf = p_function;
	if (p_idx == 0 && (p_function == "play" || p_function == "play_backwards" || p_function == "has_animation" || p_function == "queue")) {
		List<StringName> al;
		get_animation_list(&al);
		for (const StringName &name : al) {
			r_options->push_back(String(name).quote());
		}
	}
	Node::get_argument_options(p_function, p_idx, r_options);
}
void AnimationPlayer::_animation_removed(const StringName &p_name, const StringName &p_library) {