### Godot version

4.1.1.stable

### System information

Godot v4.1.1.stable - Windows 10.0.19045 - Vulkan (Forward+) - dedicated NVIDIA GeForce GTX 1080 Ti (NVIDIA; 31.0.15.3179) - Intel(R) Core(TM) i5-8600K CPU @ 3.60GHz (6 Threads)


### Issue description

https://github.com/godotengine/godot/assets/75141902/a8fa0a11-3a8b-474b-8a70-80dab030a947

When using window_set_mouse_passthrough with a transparent window in my project (a desktop Tamagotchi-like game) it causes white flickering/flashing across the newly set passthrough area (but not consistently)? I used the same setup in Godot 3.5 without flickering.
The issue is occurring in my project when the player performs an action that would update the mouse passthrough such as dragging the device around on the monitor or adding new charms/etc which change the clickable area (and is very disorienting)!



### Steps to reproduce

Set up a clickthrough area with a transparent window + change the clickable area periodically.
Display > Window settings:
![f5e9c76abf2620a9fac93d6c487ac283](https://github.com/godotengine/godot/assets/75141902/fdb192ed-09bb-49ca-9b5d-a3c668ebddcf)


### Minimal reproduction project

This project is set up the way mine is which causes the MOST flickering (setting the window area to cover all monitors), however you can **_comment out set_game_window() to only cover a normal project area_** (flickering happens way less often but still happens).

Pressing TAB while the window is selected will cause the selected area to swap between full coverage and the little red square (present for your sanity). You will likely have to click the red square to actually focus on the window!

[Test_passthrough_Flicker.zip](https://github.com/godotengine/godot/files/12222888/Test_passthrough_Flicker.zip)
ERR_PRINT("invalid utf16 surrogate input");
							break; 
						}
						unicode = (prev_wck << 10UL) + unicode - ((0xd800 << 10UL) + 0xdc00 - 0x10000);
						prev_wck = 0;
					} else {
						prev_wck = 0;
					}
					k->set_unicode(fix_unicode(unicode));
				}
				if (k->get_unicode() && gr_mem) {
					k->set_alt_pressed(false);
					k->set_ctrl_pressed(false);
				}
				k->set_echo((ke.uMsg == WM_KEYDOWN && (ke.lParam & (1 << 30))));
				Input::get_singleton()->parse_input_event(k);
			} break;
		}
	}
	key_event_pos = 0;
}
void DisplayServerWindows::_update_tablet_ctx(const String &p_old_driver, const String &p_new_driver) {
	for (KeyValue<WindowID, WindowData> &E : windows) {
		WindowData &wd = E.value;
		wd.block_mm = false;
		if ((p_old_driver == "wintab") && wintab_available && wd.wtctx) {
			wintab_WTEnable(wd.wtctx, false);
			wintab_WTClose(wd.wtctx);
			wd.wtctx = 0;
		}