### Godot version

4.0.beta12

### System information

Windows 11, RTX 3080

### Issue description

When a Window Node is created with it's Transparent flag set to true and Project Settings --> Display --> Window --> Subwindows --> Embed Subwindows is false, the Window has a black background. By cycling the transparent flag from false and back to true again, during runtime, the window's background then becomes transparent. 

### Steps to reproduce

Attempt to create a Non-embedded Subwindow with a transparent background using the appropriate flags. 

### Minimal reproduction project

Note: this project is from Reddit user [gongpha](https://www.reddit.com/user/gongpha/) and his Reddit post [Learning a Godot 4.0 Window node](https://www.reddit.com/r/godot/comments/xr8yxn/learning_a_godot_40_window_node/)

https://github.com/gongpha/godot4-window-test
#include "display_server_windows.h"
#include "core/io/marshalls.h"
#include "core/math/geometry_2d.h"
#include "main/main.h"
#include "os_windows.h"
#include "scene/resources/texture.h"
#include <avrt.h>
#include <dwmapi.h>
#ifndef DWMWA_USE_IMMERSIVE_DARK_MODE
#define DWMWA_USE_IMMERSIVE_DARK_MODE 20
#endif
#if defined(GLES3_ENABLED)
#include "drivers/gles3/rasterizer_gles3.h"
#endif
#if defined(__GNUC__)
#define GetProcAddress (void *)GetProcAddress
#endif
static String format_error_message(DWORD id) {
	LPWSTR messageBuffer = nullptr;
	size_t size = FormatMessageW(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS,
			nullptr, id, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPWSTR)&messageBuffer, 0, nullptr);
	String msg = "Error " + itos(id) + ": " + String::utf16((const char16_t *)messageBuffer, size);
	LocalFree(messageBuffer);
	return msg;
}
static void track_mouse_leave_event(HWND hWnd) {