### Godot version

4.1.2

### System information

Godot v4.1.2.stable.mono - Windows 11 22h2 - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 3060 (NVIDIA; 31.0.15.3742) - 11th Gen Intel(R) Core(TM) i5-11600K @ 3.90GHz (12 Threads)

### Issue description

in a right to left language (in my case Persian) the Ui gets inverted and i know it should be like that but you just cant work i will leave a screen shot so  you can see
![Screenshot 2023-11-16 042657](https://github.com/godotengine/godot/assets/118190096/76f0849d-945d-407b-b450-391c65c01f0e)


### Steps to reproduce

change the language to Persian

### Minimal reproduction project

N/A
window_rect = Rect2i(DisplayServer::get_singleton()->screen_get_position(DisplayServer::SCREEN_WITH_KEYBOARD_FOCUS) + (DisplayServer::get_singleton()->screen_get_size(DisplayServer::SCREEN_WITH_KEYBOARD_FOCUS) - size) / 2, size);
	}
	window_id = DisplayServer::get_singleton()->create_sub_window(DisplayServer::WindowMode(mode), vsync_mode, f, window_rect);
	ERR_FAIL_COND(window_id == DisplayServer::INVALID_WINDOW_ID);
	DisplayServer::get_singleton()->window_set_max_size(Size2i(), window_id);
	DisplayServer::get_singleton()->window_set_min_size(Size2i(), window_id);
	DisplayServer::get_singleton()->window_set_mouse_passthrough(mpath, window_id);
	DisplayServer::get_singleton()->window_set_title(tr_title, window_id);
	DisplayServer::get_singleton()->window_attach_instance_id(get_instance_id(), window_id);
	if (is_in_edited_scene_root()) {
		DisplayServer::get_singleton()->window_set_exclusive(window_id, false);
	} else {
		DisplayServer::get_singleton()->window_set_exclusive(window_id, exclusive);
	}
	_update_window_size();
	if (transient_parent && transient_parent->window_id != DisplayServer::INVALID_WINDOW_ID) {
		DisplayServer::get_singleton()->window_set_transient(window_id, transient_parent->window_id);
	}
	if (transient_parent) {
		for (const Window *E : transient_children) {
			if (E->window_id != DisplayServer::INVALID_WINDOW_ID) {
				DisplayServer::get_singleton()->window_set_transient(E->window_id, transient_parent->window_id);
			}
		}
	}
	_update_window_callbacks();
	RS::get_singleton()->viewport_set_update_mode(get_viewport_rid(), RS::VIEWPORT_UPDATE_WHEN_VISIBLE);
	DisplayServer::get_singleton()->show_window(window_id);
}
void Window::_update_from_window() {