### Godot version

v4.0.beta17.mono.official [c40020513]

### System information

Windows 11 22H2

### Issue description

If a focused subwindow is destroyed, DisplayServerWindows may still attempt to send mouse motion events to that window, because `last_focused_window` isn't updated until another window is focused.

```
ERROR: Condition "!windows.has(p_window)" is true. Returning: Point2i()
   at: window_get_position (platform/windows/display_server_windows.cpp:999)
```

### Steps to reproduce

Run the MRP, click some non-Godot application window to focus it, then click the "CLOSE" button in the secondary window. This destroys the window without re-focusing the main window, so hovering the mouse over the main window will produce the error message above.

### Minimal reproduction project

[native_windows_hover.zip](https://github.com/godotengine/godot/files/10573386/native_windows_hover.zip)

switch (p_screen) {
		case SCREEN_PRIMARY: {
			p_screen = get_primary_screen();
		} break;
		case SCREEN_OF_MAIN_WINDOW: {
			p_screen = window_get_current_screen(MAIN_WINDOW_ID);
		} break;
		default:
			break;
	}
	EnumSizeData data = { 0, p_screen, Size2() };
	EnumDisplayMonitors(nullptr, nullptr, _MonitorEnumProcSize, (LPARAM)&data);
	return data.size;
}
static BOOL CALLBACK _MonitorEnumProcUsableSize(HMONITOR hMonitor, HDC hdcMonitor, LPRECT lprcMonitor, LPARAM dwData) {
	EnumRectData *data = (EnumRectData *)dwData;
	if (data->count == data->screen) {
		MONITORINFO minfo;
		memset(&minfo, 0, sizeof(MONITORINFO));
		minfo.cbSize = sizeof(MONITORINFO);
		GetMonitorInfoA(hMonitor, &minfo);
		data->rect.position.x = minfo.rcWork.left;
		data->rect.position.y = minfo.rcWork.top;
		data->rect.size.x = minfo.rcWork.right - minfo.rcWork.left;
		data->rect.size.y = minfo.rcWork.bottom - minfo.rcWork.top;
	}
	data->count++;
	return TRUE;
}
static BOOL CALLBACK _MonitorEnumProcRefreshRate(HMONITOR hMonitor, HDC hdcMonitor, LPRECT lprcMonitor, LPARAM dwData) {