### 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)

}
		} break;
		case WM_DROPFILES: {
			HDROP hDropInfo = (HDROP)wParam;
			const int buffsize = 4096;
			WCHAR buf[buffsize];
			int fcount = DragQueryFileW(hDropInfo, 0xFFFFFFFF, nullptr, 0);
			Vector<String> files;
			for (int i = 0; i < fcount; i++) {
				DragQueryFileW(hDropInfo, i, buf, buffsize);
				String file = String::utf16((const char16_t *)buf);
				files.push_back(file);
			}
			if (files.size() && !windows[window_id].drop_files_callback.is_null()) {
				Variant v = files;
				Variant *vp = &v;
				Variant ret;
				Callable::CallError ce;
				windows[window_id].drop_files_callback.callp((const Variant **)&vp, 1, ret, ce);
			}
		} break;
		default: {
			if (user_proc) {
				return CallWindowProcW(user_proc, hWnd, uMsg, wParam, lParam);
			}
		}
	}
	return DefWindowProcW(hWnd, uMsg, wParam, lParam);
}
LRESULT CALLBACK WndProc(HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lParam) {