### Godot version

4.2

### System information

Linux

### Issue description

A nested state machine isn't traveling to its animation in `_ready()` in 4.2 as it was in 4.1.3.

In the ready function, we make the `root` state machine travel to the state of the `Stages` nested state machine. Then we immediately call the `Stages` nested state machine to travel to `Stage2`. This works fine in Godot v4.1.3, but not in Godot v4.2, where it seems a delay is first needed for the second travel animation to work.

![image](https://github.com/godotengine/godot/assets/788630/f1582a99-a68e-45d9-82b8-8367e62a9cba)
![image](https://github.com/godotengine/godot/assets/788630/c7c1f9fa-c78b-4259-bd36-81ebd8cef9aa)

### Steps to reproduce

Run the MRP below in 4.1.3 and 4.2.

In 4.1.3, the animation tree will reach `Stage2` and show Finished on the screen.

In 4.2, the animation tree will only reach `Stage1` and show Stuck on the screen.

### Minimal reproduction project

[MRP-AnimationNodeStateMachinePlayback.zip](https://github.com/godotengine/godot/files/13533132/MRP-AnimationNodeStateMachinePlayback.zip)

ERR_FAIL_NULL_V(process_state, nullptr);
	return process_state->tree;
}
double AnimationNode::blend_input(int p_input, AnimationMixer::PlaybackInfo p_playback_info, FilterAction p_filter, bool p_sync, bool p_test_only) {
	ERR_FAIL_INDEX_V(p_input, inputs.size(), 0);
	AnimationNodeBlendTree *blend_tree = Object::cast_to<AnimationNodeBlendTree>(node_state.parent);
	ERR_FAIL_NULL_V(blend_tree, 0);
	// 
	StringName current_name = blend_tree->get_node_name(Ref<AnimationNode>(this));
	node_state.connections = blend_tree->get_node_connection_array(current_name);
	// 
	StringName node_name = node_state.connections[p_input];
	if (!blend_tree->has_node(node_name)) {
		make_invalid(vformat(RTR("Nothing connected to input '%s' of node '%s'."), get_input_name(p_input), current_name));
		return 0;
	}
	Ref<AnimationNode> node = blend_tree->get_node(node_name);
	real_t activity = 0.0;
	Vector<AnimationTree::Activity> *activity_ptr = process_state->tree->input_activity_map.getptr(node_state.base_path);
	double ret = _blend_node(node, node_name, nullptr, p_playback_info, p_filter, p_sync, p_test_only, &activity);
	if (activity_ptr && p_input < activity_ptr->size()) {
		activity_ptr->write[p_input].last_pass = process_state->last_pass;
		activity_ptr->write[p_input].activity = activity;
	}
	return ret;
}
double AnimationNode::blend_node(Ref<AnimationNode> p_node, const StringName &p_subpath, AnimationMixer::PlaybackInfo p_playback_info, FilterAction p_filter, bool p_sync, bool p_test_only) {