### 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_MAIN_THREAD_GUARD;
	_internal_set_size(p_size);
}
void SubViewport::set_size_force(const Size2i &p_size) {
	ERR_MAIN_THREAD_GUARD;
	// Use only for setting the size from the parent SubViewportContainer with enabled stretch mode.
	// Don't expose function to scripting.
	_internal_set_size(p_size, true);
}
void SubViewport::_internal_set_size(const Size2i &p_size, bool p_force) {
	SubViewportContainer *c = Object::cast_to<SubViewportContainer>(get_parent());
	if (!p_force && c && c->is_stretch_enabled()) {
#ifdef DEBUG_ENABLED
		WARN_PRINT("Can't change the size of a `SubViewport` with a `SubViewportContainer` parent that has `stretch` enabled. Set `SubViewportContainer.stretch` to `false` to allow changing the size manually.");
#endif // DEBUG_ENABLED
		return;
	}
	_set_size(p_size, _get_size_2d_override(), true);
	if (c) {
		c->update_minimum_size();
	}
}
Size2i SubViewport::get_size() const {