### Godot version

4.0.3.stable

### System information

windows 11

### Issue description

fullscreen on the window node is not working and will show up as a windowed.

### Steps to reproduce

disable Embed Subwindows in Project Settings/Display/Window.
create a window node and set its mode to fullscreen.

### Minimal reproduction project

[fullscreen.zip](https://github.com/godotengine/godot/files/11821834/fullscreen.zip)
ERR_FAIL_COND(window_id == DisplayServer::INVALID_WINDOW_ID);
	bool had_focus = has_focus();
	DisplayServer::get_singleton()->window_set_rect_changed_callback(Callable(), window_id);
	DisplayServer::get_singleton()->window_set_window_event_callback(Callable(), window_id);
	DisplayServer::get_singleton()->window_set_input_event_callback(Callable(), window_id);
	DisplayServer::get_singleton()->window_set_input_text_callback(Callable(), window_id);
	DisplayServer::get_singleton()->window_set_drop_files_callback(Callable(), window_id);
	if (transient_parent && transient_parent->window_id != DisplayServer::INVALID_WINDOW_ID) {
		DisplayServer::get_singleton()->window_set_transient(window_id, DisplayServer::INVALID_WINDOW_ID);
	}
	for (const Window *E : transient_children) {
		if (E->window_id != DisplayServer::INVALID_WINDOW_ID) {
			DisplayServer::get_singleton()->window_set_transient(E->window_id, DisplayServer::INVALID_WINDOW_ID);
		}
	}
	_update_from_window();
	DisplayServer::get_singleton()->delete_sub_window(window_id);
	window_id = DisplayServer::INVALID_WINDOW_ID;
	
	if (had_focus && transient_parent) {
		transient_parent->grab_focus();
	}
	_update_viewport_size();
	RS::get_singleton()->viewport_set_update_mode(get_viewport_rid(), RS::VIEWPORT_UPDATE_DISABLED);
}
void Window::_rect_changed_callback(const Rect2i &p_callback) {