### Godot version

4.1 dev2, 4.0.3

### System information

Windows 10, ryzen 5900x, radeon 6950xt (driver: 23.2.2)

### Issue description

There are two bugs:
- When I create a new node, it is created outside of the viewport. (as in first video)
- When I run the project, all the content inside the viewport dont appear. (as in second video)
I believe the second issue is related to the first.

Note: these problems are in RTL editors.

https://github.com/godotengine/godot/assets/121864036/84f0d434-0d1b-4c23-9fb0-510257e2e191


https://github.com/godotengine/godot/assets/121864036/b2bc20c7-1e2e-4d04-99e7-d66860ffced2




### Steps to reproduce

Videos explain.

### Minimal reproduction project

N/A
ERR_MAIN_THREAD_GUARD;
	ERR_FAIL_COND(!is_inside_tree());
	get_viewport()->warp_mouse(get_global_transform_with_canvas().xform(p_position));
}
void Control::set_shortcut_context(const Node *p_node) {
	ERR_MAIN_THREAD_GUARD;
	if (p_node != nullptr) {
		data.shortcut_context = p_node->get_instance_id();
	} else {
		data.shortcut_context = ObjectID();
	}
}
Node *Control::get_shortcut_context() const {
	ERR_READ_THREAD_GUARD_V(nullptr);
	Object *ctx_obj = ObjectDB::get_instance(data.shortcut_context);
	Node *ctx_node = Object::cast_to<Node>(ctx_obj);
	return ctx_node;
}
bool Control::is_focus_owner_in_shortcut_context() const {
	ERR_READ_THREAD_GUARD_V(false);
	if (data.shortcut_context == ObjectID()) {
		
		return true;
	}
	const Node *ctx_node = get_shortcut_context();
	const Control *vp_focus = get_viewport() ? get_viewport()->gui_get_focus_owner() : nullptr;
	
	return ctx_node && vp_focus && (ctx_node == vp_focus || ctx_node->is_ancestor_of(vp_focus));
}
void Control::set_drag_forwarding(const Callable &p_drag, const Callable &p_can_drop, const Callable &p_drop) {