### Godot version

3.5.2 stable, 3.6 beta 1

### System information

Windows 11, all amd system, GLES3

### Issue description

Printed output says that the controller is in fact two controllers:
```
XInput Gamepad
Bluetooth LE XINPUT compatible input device
```
controllers of other makes only report as a single device (tested with nintendo pro controller, dual sense, steam deck)

Tested controllers:
- xbox elite controller
- xbox one s
- ~~haven't tested with xbox series controller, will report back when i have~~ Xbox series *(pink)* works fine

Effect:
- on a fresh new project it seems that the issue is only that the gamepad is reported as two
- in a project we are working on in godot 3.5.2, the double sent events propagate into the game (skips a button when going up for instance)

I am aware of https://github.com/godotengine/godot/issues/41684 and https://github.com/godotengine/godot/pull/71784 which mentions that a fix had been cherry picked, in my testing however the issue remains.

### Steps to reproduce

- create a simple ui scene with a couple of buttons
- add a script that prints the device name using: `print(Input.get_joy_name(event.device))` when event is InputEventJoypadButton in the _input function
- run the game and press a button on a bluetooth connected xbox gamepad

### Minimal reproduction project

N/A
post_hat(joy->id, js.rgdwPOV[0]);
		for (int j = 0; j < 128; j++) {
			if (js.rgbButtons[j] & 0x80) {
				if (!joy->last_buttons[j]) {
					input->joy_button(joy->id, (JoyButton)j, true);
					joy->last_buttons[j] = true;
				}
			} else {
				if (joy->last_buttons[j]) {
					input->joy_button(joy->id, (JoyButton)j, false);
					joy->last_buttons[j] = false;
				}
			}
		}
		
		int count = 8;
		const LONG axes[] = { DIJOFS_X, DIJOFS_Y, DIJOFS_Z, DIJOFS_RX, DIJOFS_RY, DIJOFS_RZ, (LONG)DIJOFS_SLIDER(0), (LONG)DIJOFS_SLIDER(1) };
		int values[] = { js.lX, js.lY, js.lZ, js.lRx, js.lRy, js.lRz, js.rglSlider[0], js.rglSlider[1] };
		for (int j = 0; j < joy->joy_axis.size(); j++) {
			for (int k = 0; k < count; k++) {
				if (joy->joy_axis[j] == axes[k]) {
					input->joy_axis(joy->id, (JoyAxis)j, axis_correct(values[k]));
					break;
				}
			}
		}
	}
	return;
}
void JoypadWindows::post_hat(int p_device, DWORD p_dpad) {