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

if (!p_event->is_echo()) {
				if (p_event->is_action_pressed(E.key)) {
					action.pressed++;
					is_pressed = true;
					if (action.pressed == 1) {
						action.pressed_physics_frame = Engine::get_singleton()->get_physics_frames();
						action.pressed_process_frame = Engine::get_singleton()->get_process_frames();
					}
				} else {
					if (action.pressed == 1) {
						action.released_physics_frame = Engine::get_singleton()->get_physics_frames();
						action.released_process_frame = Engine::get_singleton()->get_process_frames();
					}
					action.pressed = MAX(action.pressed - 1, 0);
				}
				action.exact = InputMap::get_singleton()->event_is_action(p_event, E.key, true);
			}
			if (is_pressed || action.pressed == 0) {
				action.strength = p_event->get_action_strength(E.key);
				action.raw_strength = p_event->get_action_raw_strength(E.key);
			}
		}
	}
	if (event_dispatch_function) {
		_THREAD_SAFE_UNLOCK_
		event_dispatch_function(p_event);
		_THREAD_SAFE_LOCK_
	}
}
void Input::set_joy_axis(int p_device, JoyAxis p_axis, float p_value) {