### 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
List<String> property_names;
						for (const PropertyInfo &E2 : pinfo) {
							if (E2.usage & PROPERTY_USAGE_STORAGE) {
								property_names.push_back(E2.name);
							}
						}
						
						for (const KeyValue<StringName, Variant> &E2 : E.value.property_table) {
							if (property_names.find(E2.key)) {
								modifiable_node->set(E2.key, E2.value);
							}
						}
						
						for (const ConnectionWithNodePath &E2 : E.value.connections_to) {
							Connection conn = E2.connection;
							
							Node *target_node = cast_to<Node>(conn.callable.get_object());
							
							
							
							if (!target_node || !target_node->is_queued_for_deletion()) {
								target_node = modifiable_node->get_node_or_null(E2.node_path);
							}
							if (target_node) {
								
								Callable new_callable = Callable(target_node, conn.callable.get_method());
								if (!modifiable_node->is_connected(conn.signal.get_name(), new_callable)) {
									ERR_FAIL_COND(modifiable_node->connect(conn.signal.get_name(), new_callable, conn.flags) != OK);
								}
							}