### Godot version

4.0.3; 4.1.0

### System information

windows 10

### Issue description

Only palm input method can't input Chinese, other input methods such as Microsoft Pinyin, Sogou Pinyin, qq Pinyin, Google Pinyin all work.
Through git bisect, I found that it was introduced from #75881.
By adding `CoInitialize(nullptr)` to `OS_Windows()` in platform/windows/os_windows.cpp I can get it to work, but I'm not sure if it causes other problems.

![fix](https://github.com/godotengine/godot/assets/45038185/1f2b137c-a5cc-4c10-aa04-1a8c19ba02c3)

<details><summary>git bisect log details</summary>
<p>

```
# bad: [abbdf806435aad401f2a7b6ce09838c8e4d5cbcb] GDScript: Don't fail when freed object is return
# good: [e1c0df70485266e0385aed4962934bb26cb325e9] Fix typo and slightly reword in @GDScript.xml
git bisect start 'abbdf806435aad401f2a7b6ce09838c8e4d5cbcb' 'e1c0df70485266e0385aed4962934bb26cb325e9'
# good: [87b8eea9f6c516b4a362f8b80095e3a037ade225] Merge pull request #75904 from Calinou/colorpicker-constructor-round-values
git bisect good 87b8eea9f6c516b4a362f8b80095e3a037ade225
# bad: [db1302637023168f7becceb1c4ce13228e1b2a43] i18n: Sync translations with Weblate
git bisect bad db1302637023168f7becceb1c4ce13228e1b2a43
# good: [7b6c0a8b43a4cdbbab3ea68f717937aca547c966] Merge pull request #76186 from pkowal1982/double_the
git bisect good 7b6c0a8b43a4cdbbab3ea68f717937aca547c966
# good: [c4dba9a5efdbd84b67f87def16f7b51321209697] Merge pull request #75880 from bruvzg/win_tts_queue_fix
git bisect good c4dba9a5efdbd84b67f87def16f7b51321209697
# bad: [c01b11ec8176c94a1b26ab3ed3b311e4fecd51be] Merge pull request #76229 from KoBeWi/out_of_control
git bisect bad c01b11ec8176c94a1b26ab3ed3b311e4fecd51be
# bad: [5bb46d60648ddfac4ab91a11ae4a9e568f8f66a5] Merge pull request #76176 from YuriSizov/editor-extracted-interface-commencing
git bisect bad 5bb46d60648ddfac4ab91a11ae4a9e568f8f66a5
# bad: [df0ad7502d3d9a55197d7f20c220df82706129ba] Merge pull request #76114 from ajreckof/prevent_packedArray_cast_to_array
git bisect bad df0ad7502d3d9a55197d7f20c220df82706129ba
# bad: [c2edf14faf3abdaba9a82651f202dd102703f041] Merge pull request #75881 from bruvzg/win_coinit
git bisect bad c2edf14faf3abdaba9a82651f202dd102703f041
# bad: [83dc545ea2599458fab4f4aaf46ab61d8ca98fbd] [Windows] Cleanup COM library initialization/uninitialization.
git bisect bad 83dc545ea2599458fab4f4aaf46ab61d8ca98fbd
# first bad commit: [83dc545ea2599458fab4f4aaf46ab61d8ca98fbd] [Windows] Cleanup COM library initialization/uninitialization.
```

</p>
</details> 


### Steps to reproduce

1.Install the palm IME from [winget](https://winget.run/pkg/360/PalmInput)(Chinese name is "手心输入法").
2.Enter any character in Chinese mode.
3.Try to see if Microsoft Pinyin works.

### Minimal reproduction project

N/A
hr = CoCreateInstance(CLSID_FileOpenDialog, nullptr, CLSCTX_INPROC_SERVER, IID_IFileOpenDialog, (void **)&pfd);
	}
	if (SUCCEEDED(hr)) {
		DWORD flags;
		pfd->GetOptions(&flags);
		if (p_mode == FILE_DIALOG_MODE_OPEN_FILES) {
			flags |= FOS_ALLOWMULTISELECT;
		}
		if (p_mode == FILE_DIALOG_MODE_OPEN_DIR) {
			flags |= FOS_PICKFOLDERS;
		}
		if (p_show_hidden) {
			flags |= FOS_FORCESHOWHIDDEN;
		}
		pfd->SetOptions(flags | FOS_FORCEFILESYSTEM);
		pfd->SetTitle((LPCWSTR)p_title.utf16().ptr());
		String dir = ProjectSettings::get_singleton()->globalize_path(p_current_directory);
		if (dir == ".") {
			dir = OS::get_singleton()->get_executable_path().get_base_dir();
		}
		dir = dir.replace("/", "\\");
		IShellItem *shellitem = nullptr;
		hr = SHCreateItemFromParsingName((LPCWSTR)dir.utf16().ptr(), nullptr, IID_IShellItem, (void **)&shellitem);
		if (SUCCEEDED(hr)) {
			pfd->SetDefaultFolder(shellitem);
			pfd->SetFolder(shellitem);
		}
		pfd->SetFileName((LPCWSTR)p_filename.utf16().ptr());
		pfd->SetFileTypes(filters.size(), filters.ptr());
		pfd->SetFileTypeIndex(0);