### Tested versions

4.2.stable

### System information

Godot v4.2.stable - Windows 10.0.22621 - GLES3 (Compatibility) - D3D12 (Qualcomm(R) Adreno(TM) 685 GPU) () - Snapdragon (TM) 8cx Gen 2 @ 3.0 GHz (8 Threads)

### Issue description

well~ i have full interests in using godot engine and now i am a Chinese graduate which has more free time to learn it. but it seems that there is a bug when i use Godot 4.2 stable version - although the workspace might run well, i feel a bit confused when i **create a new project or add one node**, the places of settings will **show incorrectly** when i try to **maximize the setting window and restore it** (luckily, only show incorrectly, the settings can still run correctly).
i am using Windows 11 on ARM laptop to run Godot engine 3/4 - it can runs well in using OpenGL compatibility Pack in Microsoft Store (awesome!!! but of course, only GLES2/GLES3). but this bug **does not exist** in **Godot 4.1.3 stable version** or before (iMPORTANT...), and i have tried to restart many times, the bug didn't disappear. i will upload the main screenshot as well.
now i have rollbacked in Godot 4.1.3 stable. so i hope this bug can be solved in Godot 4.2.1 or as quickly as possible, or... i'd like to find everyone's help? (tears of joy~)

### Steps to reproduce

1. i try to create new project, or add one node.
2. i maximize the setting window.
3. i restore the setting window.
4. the places of settings show incorrectly.

### Minimal reproduction project (MRP)

it can appear when i try to create new project so there is no nessesary to upload a project.godot... maybe?
_THREAD_SAFE_METHOD_
	DisplayServer::WindowID window_id = _get_focused_window_or_popup();
	const WindowData &wd = windows[window_id];
	if (!wd.ime_active) {
		return Vector2i();
	}
	int cursor = ImmGetCompositionStringW(wd.im_himc, GCS_CURSORPOS, nullptr, 0);
	int32_t length = ImmGetCompositionStringW(wd.im_himc, GCS_COMPSTR, nullptr, 0);
	wchar_t *string = reinterpret_cast<wchar_t *>(memalloc(length));
	ImmGetCompositionStringW(wd.im_himc, GCS_COMPSTR, string, length);
	int32_t utf32_cursor = 0;
	for (int32_t i = 0; i < length / int32_t(sizeof(wchar_t)); i++) {
		if ((string[i] & 0xfffffc00) == 0xd800) {
			i++;
		}
		if (i < cursor) {
			utf32_cursor++;
		} else {
			break;
		}
	}
	memdelete(string);
	return Vector2i(utf32_cursor, 0);
}
String DisplayServerWindows::ime_get_text() const {