### Godot version

4.2 dev3

### System information

Windows 10.0.19045 - Vulkan (Forward+) - dedicated NVIDIA GeForce GTX 1060 (NVIDIA; 30.0.15.1403) - Intel(R) Core(TM) i7-7700HQ CPU @ 2.80GHz (8 Threads)

### Issue description

When you have a property array, e.g. layer list in TileMap, and hover on the side of the array, a tooltip showing (presumably) element index appears.
![image](https://github.com/godotengine/godot/assets/2223172/7c331c9c-4c1d-4d85-a660-3355a2f3332e)
However when you go to page 2 or higher, the index resets, instead of taking page into account:
![image](https://github.com/godotengine/godot/assets/2223172/588e20cd-24f6-4e64-88e3-e6b09e9133c1)


### Steps to reproduce

1. Add TileMap
2. Add enough layers to make the inspector's array have more pages
3. Go to another page
4. Hover array element

### Minimal reproduction project

N/A
bool movable = true;
			bool numbered = false;
			bool foldable = use_folding;
			String add_button_text = TTR("Add Element");
			String swap_method;
			for (int i = (p.type == Variant::NIL ? 1 : 2); i < class_name_components.size(); i++) {
				if (class_name_components[i].begins_with("page_size") && class_name_components[i].get_slice_count("=") == 2) {
					page_size = class_name_components[i].get_slice("=", 1).to_int();
				} else if (class_name_components[i].begins_with("add_button_text") && class_name_components[i].get_slice_count("=") == 2) {
					add_button_text = class_name_components[i].get_slice("=", 1).strip_edges();
				} else if (class_name_components[i] == "static") {
					movable = false;
				} else if (class_name_components[i] == "numbered") {
					numbered = true;
				} else if (class_name_components[i] == "unfoldable") {
					foldable = false;
				} else if (class_name_components[i].begins_with("swap_method") && class_name_components[i].get_slice_count("=") == 2) {
					swap_method = class_name_components[i].get_slice("=", 1).strip_edges();
				}
			}
			if (p.type == Variant::NIL) {
				
				array_element_prefix = class_name_components[0];
				editor_inspector_array = memnew(EditorInspectorArray(all_read_only));
				String array_label = path.contains("/") ? path.substr(path.rfind("/") + 1) : path;
				array_label = EditorPropertyNameProcessor::get_singleton()->process_name(property_label_string, property_name_style);
				int page = per_array_page.has(array_element_prefix) ? per_array_page[array_element_prefix] : 0;
				editor_inspector_array->setup_with_move_element_function(object, array_label, array_element_prefix, page, c, use_folding);
				editor_inspector_array->connect("page_change_request", callable_mp(this, &EditorInspector::_page_change_request).bind(array_element_prefix));
			} else if (p.type == Variant::INT) {