### Godot version

4.2 bc88dca

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

After #80859 if you have an action that uses joypad axis, it can get stuck very easily and don't get released until more input. The `pressed` counter can go above 1, because multiple pressed events are received in a row, without equivalent release events that would release the action.

### Steps to reproduce

1. Create an action that uses joypad axis event
2. Start the project and press the action a few times
3. Eventually it will not release

### Minimal reproduction project

[BrokenAxis.zip](https://github.com/godotengine/godot/files/12476218/BrokenAxis.zip)

return get_action_strength(p_positive_action) - get_action_strength(p_negative_action);
}
Vector2 Input::get_vector(const StringName &p_negative_x, const StringName &p_positive_x, const StringName &p_negative_y, const StringName &p_positive_y, float p_deadzone) const {
	Vector2 vector = Vector2(
			get_action_raw_strength(p_positive_x) - get_action_raw_strength(p_negative_x),
			get_action_raw_strength(p_positive_y) - get_action_raw_strength(p_negative_y));
	if (p_deadzone < 0.0f) {
		
		p_deadzone = 0.25 *
				(InputMap::get_singleton()->action_get_deadzone(p_positive_x) +
						InputMap::get_singleton()->action_get_deadzone(p_negative_x) +
						InputMap::get_singleton()->action_get_deadzone(p_positive_y) +
						InputMap::get_singleton()->action_get_deadzone(p_negative_y));
	}
	
	float length = vector.length();
	if (length <= p_deadzone) {
		return Vector2();
	} else if (length > 1.0f) {
		return vector / length;
	} else {
		
		return vector * (Math::inverse_lerp(p_deadzone, 1.0f, length) / length);
	}
}
float Input::get_joy_axis(int p_device, JoyAxis p_axis) const {