### Godot version

v4.0.2.stable.official [7a0977ce2]

### System information

Windows 10, Linux

### Issue description

When the `mouse_entered` and `mouse_exited` signals are used with an `Area2D` node, the signals are not emitted if the `Camera2D` moves the viewport such that the mouse enters or leaves the area.

![area](https://user-images.githubusercontent.com/118939014/230185696-4154ce92-b6da-4c28-a5f8-b088900d7ac8.gif)


### Steps to reproduce

Open the attached minimal project...

1) Put the mouse cursor inside the circular area
2) Move the camera with WASD or arrow keys such that the mouse cursor enters and leaves the area (don't move the mouse in this step)
3) Watch as the label doesn't update properly

### Minimal reproduction project

[Area2D bug.zip](https://github.com/godotengine/godot/files/11162322/Area2D.bug.zip)

class Label;
class SceneTreeTimer;
class Viewport;
class Window;
class World2D;
class ViewportTexture : public Texture2D {
	GDCLASS(ViewportTexture, Texture2D);
	NodePath path;
	friend class Viewport;
	Viewport *vp = nullptr;
	bool vp_pending = false;
	void _setup_local_to_scene(const Node *p_loc_scene);
	mutable RID proxy_ph;
	mutable RID proxy;
protected:
	static void _bind_methods();
public:
	void set_viewport_path_in_scene(const NodePath &p_path);
	NodePath get_viewport_path_in_scene() const;
	virtual void setup_local_to_scene() override;
	virtual int get_width() const override;
	virtual int get_height() const override;
	virtual Size2 get_size() const override;
	virtual RID get_rid() const override;
	virtual bool has_alpha() const override;
	virtual Ref<Image> get_image() const override;
	ViewportTexture();
	~ViewportTexture();
};
class Viewport : public Node {