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

return HTTRANSPARENT;
			}
		} break;
		case WM_MOUSEACTIVATE: {
			if (windows[window_id].no_focus) {
				return MA_NOACTIVATEANDEAT; 
			} else if (windows[window_id].is_popup) {
				return MA_NOACTIVATE; 
			}
		} break;
		case WM_SETFOCUS: {
			windows[window_id].window_has_focus = true;
			last_focused_window = window_id;
			
			_set_mouse_mode_impl(mouse_mode);
			if (!app_focused) {
				if (OS::get_singleton()->get_main_loop()) {
					OS::get_singleton()->get_main_loop()->notification(MainLoop::NOTIFICATION_APPLICATION_FOCUS_IN);
				}
				app_focused = true;
			}
		} break;
		case WM_KILLFOCUS: {
			windows[window_id].window_has_focus = false;
			last_focused_window = window_id;
			
			ReleaseCapture();
			
			for (const KeyValue<int, Vector2> &E : touch_state) {
				_touch_event(window_id, false, E.value.x, E.value.y, E.key);