### Godot version

v4.1.1.stable.official [bd6af8e0e]

### System information

Godot v4.1.1.stable - Windows 10.0.19045 - Vulkan (Forward+) - dedicated NVIDIA GeForce GTX 1060 6GB (NVIDIA; 31.0.15.3179) - Intel(R) Core(TM) i5-8500 CPU @ 3.00GHz (6 Threads)

### Issue description

When connecting the `animation_started` signal from an animation tree, the connected method is always called twice.
This only occurs with the `animation_started` signal, the `animation_finished` signal is only emitted once.

This unfortunately makes relying on the signal impossible.

### Steps to reproduce

(See minimal production project)
- Use `animation_started.connect()`
- Print something out in the connected method (the example project prints the `anim_name` parameter)
- method is called twice -> two prints in the console

### Minimal reproduction project

[anim_tree_signal_bug.zip](https://github.com/godotengine/godot/files/12229864/anim_tree_signal_bug.zip)

The animation tree travels to the 'move' animation when `ui_accept` is pressed (see `anim_tree.gd`) and has print statements inside the methods connected to both the `animation_started` and `animation_finished` signal.

}
	}
	double main_rem = 0.0;
	if (mix == MIX_MODE_ADD) {
		main_rem = blend_input(0, p_time, p_seek, p_is_external_seeking, 1.0, FILTER_IGNORE, sync, p_test_only);
	} else {
		main_rem = blend_input(0, p_time, use_blend && p_seek, p_is_external_seeking, 1.0 - blend, FILTER_BLEND, sync, p_test_only); 
	}
	double os_rem = blend_input(1, os_seek ? cur_time : p_time, os_seek, p_is_external_seeking, Math::is_zero_approx(blend) ? CMP_EPSILON : blend, FILTER_PASS, true, p_test_only); 
	if (do_start) {
		cur_remaining = os_rem;
	}
	if (p_seek) {
		cur_time = p_time;
	} else {
		cur_time += p_time;
		cur_remaining = os_rem;
		cur_fade_out_remaining -= p_time;
		if (cur_remaining <= 0 || (is_fading_out && cur_fade_out_remaining <= 0)) {
			set_parameter(internal_active, false);
			set_parameter(active, false);
			if (auto_restart) {
				double restart_sec = auto_restart_delay + Math::randd() * auto_restart_random_delay;
				set_parameter(time_to_restart, restart_sec);
			}
		}
	}
	set_parameter(time, cur_time);
	set_parameter(remaining, cur_remaining);
	set_parameter(fade_out_remaining, cur_fade_out_remaining);