### Godot version

Master (0ddd9c3e8f9088fa139e25b2903289d727073e12)

### System information

PopOS 22.04 - Intel integrated graphics - all backends

### Issue description

When there are popup windows in the editor, I cannot click on the "Confirm"/"Cancel" type buttons at the button. 

I have the issue both in the project manager (importing projects I can click on files etc. but cannot click "open") and when running the editor (cannot click "Save&Quit" etc.)

Sometimes the editor correctly highlights the buttons and I can use the arrow keys to navigate the buttons and "enter" to confirm my selection.

_I can navigate the editor closing dialogue with tab/arrow keys_
![Screenshot from 2023-01-16 14-24-06](https://user-images.githubusercontent.com/16521339/212774269-d784ea5e-5921-4460-9124-48978939c8e7.png)

_I can't navigate the project import dialogue with tab/arrow keys_
![Screenshot from 2023-01-16 14-29-00](https://user-images.githubusercontent.com/16521339/212774683-0a80795a-eed4-4e65-b2ca-3562c25d71fd.png)


### Steps to reproduce

Run the editor

### Minimal reproduction project

Reproducible in the project manager
static unsigned char all_mask_data[XIMaskLen(XI_LASTEVENT)] = {};
			all_event_mask.deviceid = XIAllDevices;
			all_event_mask.mask_len = sizeof(all_mask_data);
			all_event_mask.mask = all_mask_data;
			XISetMask(all_event_mask.mask, XI_HierarchyChanged);
#ifdef TOUCH_ENABLED
			if (xi.touch_devices.size()) {
				XISetMask(all_event_mask.mask, XI_TouchBegin);
				XISetMask(all_event_mask.mask, XI_TouchUpdate);
				XISetMask(all_event_mask.mask, XI_TouchEnd);
				XISetMask(all_event_mask.mask, XI_TouchOwnership);
			}
#endif
			XISelectEvents(x11_display, wd.x11_window, &all_event_mask, 1);
		}
		
		XStoreName(x11_display, wd.x11_window, "Godot");
		XSetWMProtocols(x11_display, wd.x11_window, &wm_delete, 1);
		if (xdnd_aware != None) {
			XChangeProperty(x11_display, wd.x11_window, xdnd_aware, XA_ATOM, 32, PropModeReplace, (unsigned char *)&xdnd_version, 1);
		}
		if (xim && xim_style) {
			
			
			MutexLock mutex_lock(events_mutex);
			wd.xic = XCreateIC(xim, XNInputStyle, xim_style, XNClientWindow, wd.x11_window, XNFocusWindow, wd.x11_window, (char *)nullptr);
			if (XGetICValues(wd.xic, XNFilterEvents, &im_event_mask, nullptr) != nullptr) {
				WARN_PRINT("XGetICValues couldn't obtain XNFilterEvents value");
				XDestroyIC(wd.xic);
				wd.xic = nullptr;