### 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.
diff.y = MAX(diff.y, -limit.y);
						r.size += diff;
					} break;
					default: {
					}
				}
				Size2i max_size = gui.currently_dragged_subwindow->get_max_size();
				if ((max_size.x > 0 || max_size.y > 0) && (max_size.x >= min_size.x && max_size.y >= min_size.y)) {
					max_size.x = MAX(max_size.x, 1);
					max_size.y = MAX(max_size.y, 1);
					if (r.size.x > max_size.x) {
						r.size.x = max_size.x;
					}
					if (r.size.y > max_size.y) {
						r.size.y = max_size.y;
					}
				}
				gui.currently_dragged_subwindow->_rect_changed_callback(r);
			}
			if (gui.currently_dragged_subwindow) { 
				_sub_window_update(gui.currently_dragged_subwindow);
			}
		}
		return true; 
	}
	Ref<InputEventMouseButton> mb = p_event;
	
	if (mb.is_valid() && mb->is_pressed() && mb->get_button_index() == MouseButton::LEFT) {
		Window *click_on_window = nullptr;
		for (int i = gui.sub_windows.size() - 1; i >= 0; i--) {