### 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
ERR_FAIL_COND(!windows.has(p_window));
	if (windows[p_window].mpass || windows[p_window].mpath.size() == 0) {
		SetWindowRgn(windows[p_window].hWnd, nullptr, TRUE);
	} else {
		POINT *points = (POINT *)memalloc(sizeof(POINT) * windows[p_window].mpath.size());
		for (int i = 0; i < windows[p_window].mpath.size(); i++) {
			if (windows[p_window].borderless) {
				points[i].x = windows[p_window].mpath[i].x;
				points[i].y = windows[p_window].mpath[i].y;
			} else {
				points[i].x = windows[p_window].mpath[i].x + GetSystemMetrics(SM_CXSIZEFRAME);
				points[i].y = windows[p_window].mpath[i].y + GetSystemMetrics(SM_CYSIZEFRAME) + GetSystemMetrics(SM_CYCAPTION);
			}
		}
		HRGN region = CreatePolygonRgn(points, windows[p_window].mpath.size(), ALTERNATE);
		SetWindowRgn(windows[p_window].hWnd, region, TRUE);
		DeleteObject(region);
		memfree(points);
	}
}
int DisplayServerWindows::window_get_current_screen(WindowID p_window) const {
	_THREAD_SAFE_METHOD_
	ERR_FAIL_COND_V(!windows.has(p_window), -1);
	EnumScreenData data = { 0, 0, MonitorFromWindow(windows[p_window].hWnd, MONITOR_DEFAULTTONEAREST) };
	EnumDisplayMonitors(nullptr, nullptr, _MonitorEnumProcScreen, (LPARAM)&data);
	return data.screen;
}
void DisplayServerWindows::window_set_current_screen(int p_screen, WindowID p_window) {