### Godot version

v4.2.dev.custom_build [0c2144da9]

### System information

Debian Linux X11 Xfce

### Issue description

Prerequisite: Be in Single Window Mode in the Editor
The Filesystem Dock is unusable when it is floating, which is not expected.
It appears garbled in the top-left corner:
![image](https://github.com/godotengine/godot/assets/6299227/109f7922-97de-44c3-814a-ca7f970e0602)

The following errors are shown:
```
  editor/window_wrapper.cpp:220 - Condition "!is_window_available()" is true.
  editor/window_wrapper.cpp:202 - Condition "!get_window_enabled()" is true. Returning: Rect2i()
  editor/window_wrapper.cpp:207 - Condition "!get_window_enabled()" is true. Returning: -1
  editor/window_wrapper.cpp:207 - Condition "!get_window_enabled()" is true. Returning: -1
```

bisecting lead to #62378
possibly related to #44439

### Steps to reproduce

1. Start a project in the Editor
2. Switch to Single Window Mode in the Editor and reload (if necessary)
3. Make the Filesystem Dock floating

### Minimal reproduction project

Editor issue
window_rect.position += real_screen_rect.position;
	
	window->set_current_screen(p_screen);
	if (window->is_visible()) {
		_set_window_rect(window_rect);
	} else {
		_set_window_enabled_with_rect(true, window_rect);
	}
}
void WindowWrapper::enable_window_on_screen(int p_screen, bool p_auto_scale) {
	int current_screen = Object::cast_to<Window>(get_viewport())->get_current_screen();
	int screen = p_screen < 0 ? current_screen : p_screen;
	bool auto_scale = p_auto_scale && !EDITOR_GET("interface/multi_window/maximize_window");
	if (auto_scale && current_screen != screen) {
		Rect2 control_rect = _get_default_window_rect();
		Rect2i source_screen_rect = DisplayServer::get_singleton()->screen_get_usable_rect(current_screen);
		Rect2i dest_screen_rect = DisplayServer::get_singleton()->screen_get_usable_rect(screen);
		
		Vector2 screen_ratio = Vector2(source_screen_rect.size) / Vector2(dest_screen_rect.size);
		
		control_rect.position -= source_screen_rect.position;
		control_rect = Rect2i(control_rect.position * screen_ratio, control_rect.size * screen_ratio);
		control_rect.position += dest_screen_rect.position;
		restore_window(control_rect, p_screen);
	} else {
		window->set_current_screen(p_screen);
		set_window_enabled(true);
	}
}
void WindowWrapper::set_window_title(const String p_title) {