### Godot version

4.1.1

### System information

linux

### Issue description

![image](https://github.com/godotengine/godot-proposals/assets/71937306/04dcf0e9-1c0d-4a7f-8ca9-827dd281253a)

![image](https://github.com/godotengine/godot-proposals/assets/71937306/aa70e31e-0486-455a-b8b4-7e589ec7b754)

notice how the first option in the list is never aligned with the button that spawned it.

### Steps to reproduce

right click in the FileSystem dock and hover over the `Create New →` option.

### Minimal reproduction project

editor
}
						}
					}
				}
			}
			
			if (!activated_by_keyboard && !is_embedded() && autohide_areas.size()) {
				Point2 mouse_pos = DisplayServer::get_singleton()->mouse_get_position();
				mouse_pos -= get_position();
				for (const Rect2 &E : autohide_areas) {
					if (!Rect2(Point2(), get_size()).has_point(mouse_pos) && E.has_point(mouse_pos)) {
						_close_pressed();
						return;
					}
				}
			}
		} break;
		case NOTIFICATION_VISIBILITY_CHANGED: {
			if (!is_visible()) {
				if (mouse_over >= 0) {
					mouse_over = -1;
					control->queue_redraw();
				}
				for (int i = 0; i < items.size(); i++) {
					if (items[i].submenu.is_empty()) {
						continue;
					}
					Node *n = get_node(items[i].submenu);
					if (!n) {
						continue;