### Godot version

v4.1.1.stable.official [bd6af8e0e]

### System information

Godot v4.1.1.stable - Debian GNU/Linux trixie/sid trixie - Vulkan (Forward+) - dedicated NVIDIA GeForce GTX 1060 (nvidia) - Intel(R) Core(TM) i5-8400 CPU @ 2.80GHz (6 Threads)

### Issue description

`Area2D`s which extend beyond the bounds of the root viewport, eg. when using a `canvas_items` stretch mode, receive mouse input events even in the black bands letterboxing the game:

https://github.com/godotengine/godot/assets/441188/3beb962f-c1fa-4098-a375-f3d862013577


### Steps to reproduce

1. Set project stretch mode to either `canvas_items` or `viewport`
2. Have an `Area2D` whose `CollisionShape` extends beyond the bounds of the rendered region
3. Connect the `Area2D`'s `mouse_[entered|exited]` signal to something
4. Wave the mouse around in the black areas outside the rendered game

### Minimal reproduction project

Project used for video demo above:

[area2d-oob.zip](https://github.com/godotengine/godot/files/12207031/area2d-oob.zip)

This only demos `mouse_[entered|exited]`, but I first encountered this with the `Area2D.input_event` signal, where it received mouse clicks as well.
bool use_hdr_2d = false;
	bool gen_mipmaps = false;
	bool snap_controls_to_pixels = true;
	bool snap_2d_transforms_to_pixel = false;
	bool snap_2d_vertices_to_pixel = false;
	bool physics_object_picking = false;
	bool physics_object_picking_sort = false;
	List<Ref<InputEvent>> physics_picking_events;
	ObjectID physics_object_capture;
	ObjectID physics_object_over;
	Transform3D physics_last_object_transform;
	Transform3D physics_last_camera_transform;
	ObjectID physics_last_id;
	bool handle_input_locally = true;
	bool local_input_handled = false;
	
	HashMap<ObjectID, uint64_t> physics_2d_mouseover;
	
	HashMap<Pair<ObjectID, int>, uint64_t, PairHash<ObjectID, int>> physics_2d_shape_mouseover;
	
	void _cleanup_mouseover_colliders(bool p_clean_all_frames, bool p_paused_only, uint64_t p_frame_reference = 0);
	Ref<World2D> world_2d;
	StringName input_group;
	StringName gui_input_group;
	StringName shortcut_input_group;
	StringName unhandled_input_group;
	StringName unhandled_key_input_group;
	void _update_audio_listener_2d();
	bool disable_3d = false;
	void _propagate_viewport_notification(Node *p_node, int p_what);