### Godot version

v4.1.stable.official [970459615]

### System information

Godot v4.1.stable - Windows 10.0.22621 - Vulkan (Forward+) - dedicated NVIDIA GeForce GTX 1660 Ti (NVIDIA; 31.0.15.3598) - AMD Ryzen 7 3700X 8-Core Processor (16 Threads)

### Issue description

is_input_handled() is returning True, even though set_input_as_handled() has not been called.

Example:
`func _input_event(viewport, event, shape_idx):
	print(viewport.is_input_handled())`

Returns 'True', should return 'False'

### Steps to reproduce

1. Create a new project and add a Node2D as the root
2. Add a child Area2D node containing a CollisionShape2D and a Sprite2D
3. Either create the _input_event(viewport, event, shape_idx) or connect _on_input_event(viewport, event, shape_idx)
4. Print viewport.is_input_handled()
5. True is printed.

### Minimal reproduction project

[input_test.zip](https://github.com/godotengine/godot/files/12063748/input_test.zip)

CanvasItem *ci = p_control;
	while (ci) {
		Control *control = Object::cast_to<Control>(ci);
		if (control) {
			if (control->data.mouse_filter != Control::MOUSE_FILTER_IGNORE) {
				control->notification(p_what);
			}
			if (!control->is_inside_tree()) {
				break;
			}
			if (!control->is_inside_tree() || control->is_set_as_top_level()) {
				break;
			}
			if (control->data.mouse_filter == Control::MOUSE_FILTER_STOP) {
				break;
			}
		}
		if (ci->is_set_as_top_level()) {
			break;
		}
		ci = ci->get_parent_item();
	}
}
Control *Viewport::gui_find_control(const Point2 &p_global) {