### 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
}
	for (unsigned int i = 0; i < dev_list_count; i++) {
		RID_DEVICE_INFO rdi;
		char dev_name[128];
		UINT rdiSize = sizeof(rdi);
		UINT nameSize = sizeof(dev_name);
		rdi.cbSize = rdiSize;
		if ((dev_list[i].dwType == RIM_TYPEHID) &&
				(GetRawInputDeviceInfoA(dev_list[i].hDevice, RIDI_DEVICEINFO, &rdi, &rdiSize) != (UINT)-1) &&
				(MAKELONG(rdi.hid.dwVendorId, rdi.hid.dwProductId) == (LONG)p_guid->Data1) &&
				(GetRawInputDeviceInfoA(dev_list[i].hDevice, RIDI_DEVICENAME, &dev_name, &nameSize) != (UINT)-1) &&
				(strstr(dev_name, "IG_") != nullptr)) {
			memfree(dev_list);
			return true;
		}
	}
	memfree(dev_list);
	return false;
}
bool JoypadWindows::setup_dinput_joypad(const DIDEVICEINSTANCE *instance) {
	ERR_FAIL_NULL_V_MSG(dinput, false, "DirectInput not initialized. Rebooting your PC may solve this issue.");
	HRESULT hr;
	int num = input->get_unused_joy_id();
	if (have_device(instance->guidInstance) || num == -1) {
		return false;
	}
	d_joypads[num] = dinput_gamepad();
	dinput_gamepad *joy = &d_joypads[num];
	const DWORD devtype = (instance->dwDevType & 0xFF);
	if ((devtype != DI8DEVTYPE_JOYSTICK) && (devtype != DI8DEVTYPE_GAMEPAD) && (devtype != DI8DEVTYPE_1STPERSON) && (devtype != DI8DEVTYPE_DRIVING)) {