### 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
final_size_override = viewport_size / content_scale_factor;
				attach_to_screen_rect = Rect2(margin, screen_size);
				font_oversampling = (screen_size.x / viewport_size.x) * content_scale_factor;
				window_transform.translate_local(margin);
			} break;
			case CONTENT_SCALE_MODE_VIEWPORT: {
				final_size = (viewport_size / content_scale_factor).floor();
				attach_to_screen_rect = Rect2(margin, screen_size);
				window_transform.translate_local(margin);
				if (final_size.x != 0 && final_size.y != 0) {
					Transform2D scale_transform;
					scale_transform.scale(Vector2(attach_to_screen_rect.size) / Vector2(final_size));
					window_transform *= scale_transform;
				}
			} break;
		}
	}
	bool allocate = is_inside_tree() && visible && (window_id != DisplayServer::INVALID_WINDOW_ID || embedder != nullptr);
	_set_size(final_size, final_size_override, allocate);
	if (window_id != DisplayServer::INVALID_WINDOW_ID) {
		RenderingServer::get_singleton()->viewport_attach_to_screen(get_viewport_rid(), attach_to_screen_rect, window_id);
	} else {
		RenderingServer::get_singleton()->viewport_attach_to_screen(get_viewport_rid(), Rect2i(), DisplayServer::INVALID_WINDOW_ID);
	}
	if (window_id == DisplayServer::MAIN_WINDOW_ID) {
		if (!use_font_oversampling) {
			font_oversampling = 1.0;
		}
		if (TS->font_get_global_oversampling() != font_oversampling) {
			TS->font_set_global_oversampling(font_oversampling);