### Godot version

4.0.stable

### System information

Windows 10

### Issue description

In my project, we are rendering a GUI to a QuadMesh as an in-game interactive display. We push mouse click events when the player clicks the display. This worked fine during 4.0 beta, but after moving to the stable release the buttons on TreeItems stopped working. I put together a MRP and went back through the versions and it seems the issue started in RC1.

### Steps to reproduce

When running the MRP, it has a standard GUI on the left hand side of the screen and a QuadMesh rendered GUI on the right hand side. If you click the + button on an item, it will add another item to the list. On the QuadMesh you will see that you can highlight and collapse items in the list, but the + button does not function. If you run the MRP on 4.0.beta17 everything will function as expected.

### Minimal reproduction project

[TreeUI_through_SubViewport.zip](https://github.com/godotengine/godot/files/10959159/TreeUI_through_SubViewport.zip)

bool _camera_3d_add(Camera3D *p_camera); 
	void _camera_3d_remove(Camera3D *p_camera);
	void _camera_3d_make_next_current(Camera3D *p_exclude);
	void enable_camera_3d_override(bool p_enable);
	bool is_camera_3d_override_enabled() const;
	void set_camera_3d_override_transform(const Transform3D &p_transform);
	Transform3D get_camera_3d_override_transform() const;
	void set_camera_3d_override_perspective(real_t p_fovy_degrees, real_t p_z_near, real_t p_z_far);
	void set_camera_3d_override_orthogonal(real_t p_size, real_t p_z_near, real_t p_z_far);
	void set_disable_3d(bool p_disable);
	bool is_3d_disabled() const;
	Ref<World3D> world_3d;
	Ref<World3D> own_world_3d;
	void set_world_3d(const Ref<World3D> &p_world_3d);
	Ref<World3D> get_world_3d() const;
	Ref<World3D> find_world_3d() const;
	void _own_world_3d_changed();
	void set_use_own_world_3d(bool p_use_own_world_3d);
	bool is_using_own_world_3d() const;
	void _propagate_enter_world_3d(Node *p_node);
	void _propagate_exit_world_3d(Node *p_node);
	void set_use_xr(bool p_use_xr);
	bool is_using_xr();
#endif 
	void _propagate_world_2d_changed(Node *p_node);
	void _validate_property(PropertyInfo &p_property) const;
	Viewport();
	~Viewport();
};
class SubViewport : public Viewport {