### Godot version

4.0

### System information

Windows 11

### Issue description

When using a SubViewport contained within a SubviewportContainer, none of my child Control nodes within the Subviewport have their mouse cursors changed to align with their Control's default mouse cursor option. They are always unchanged, even when an attempt is made to change the default with code. It seems like being within a SubViewport disables it's ability to know when it needs to change mouse cursors inside that SubViewport.


### Steps to reproduce

* Create a Control node root.
* Put a SubViewportContainer inside it
* Put a SubViewport inside of that
* Put a ColorRect inside of the SubViewport and change it's default cursor to something else, such as "Forbidden"
* Hit "Play" and mouse over the ColorRect.

### Minimal reproduction project

[TestRepro.zip](https://github.com/godotengine/godot/files/10950080/TestRepro.zip)

ERR_READ_THREAD_GUARD_V(SDF_SCALE_100_PERCENT);
	return sdf_scale;
}
Transform2D Viewport::get_screen_transform() const {
	ERR_READ_THREAD_GUARD_V(Transform2D());
	return get_screen_transform_internal();
}
Transform2D Viewport::get_screen_transform_internal(bool p_absolute_position) const {
	ERR_READ_THREAD_GUARD_V(Transform2D());
	return get_final_transform();
}
void Viewport::update_mouse_cursor_state() {
	
	Window *base_window = get_base_window();
	if (base_window) {
		base_window->update_mouse_cursor_state();
	}
}
void Viewport::set_canvas_cull_mask(uint32_t p_canvas_cull_mask) {
	ERR_MAIN_THREAD_GUARD;
	canvas_cull_mask = p_canvas_cull_mask;
	RenderingServer::get_singleton()->viewport_set_canvas_cull_mask(viewport, canvas_cull_mask);
}
uint32_t Viewport::get_canvas_cull_mask() const {
	ERR_READ_THREAD_GUARD_V(0);
	return canvas_cull_mask;
}
void Viewport::set_canvas_cull_mask_bit(uint32_t p_layer, bool p_enable) {