### 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
Ref<Font> light_font = get_theme_font(SNAME("main"), EditorStringName(EditorFonts));
					int light_font_size = get_theme_font_size(SNAME("main_size"), EditorStringName(EditorFonts));
					Color light_font_color = get_theme_color(SNAME("disabled_font_color"), EditorStringName(Editor));
					
					num_revertable_str = vformat(TTRN("(%d change)", "(%d changes)", revertable_properties.size()), revertable_properties.size());
					num_revertable_width = light_font->get_string_size(num_revertable_str, HORIZONTAL_ALIGNMENT_LEFT, -1.0f, light_font_size, TextServer::JUSTIFICATION_NONE).x;
					if (label_width + separation + num_revertable_width > available) {
						
						num_revertable_str = vformat("(%d)", revertable_properties.size());
						num_revertable_width = light_font->get_string_size(num_revertable_str, HORIZONTAL_ALIGNMENT_LEFT, -1.0f, light_font_size, TextServer::JUSTIFICATION_NONE).x;
					}
					Point2 text_offset = Point2(
							margin_end,
							light_font->get_ascent(light_font_size) + (header_height - light_font->get_height(light_font_size)) / 2);
					if (!rtl) {
						text_offset.x = get_size().width - (text_offset.x + num_revertable_width);
					}
					draw_string(light_font, text_offset, num_revertable_str, HORIZONTAL_ALIGNMENT_LEFT, -1.0f, light_font_size, light_font_color, TextServer::JUSTIFICATION_NONE);
					margin_end += num_revertable_width + separation;
					available -= num_revertable_width + separation;
				}
				
				Point2 text_offset = Point2(
						margin_start,
						font->get_ascent(font_size) + (header_height - font->get_height(font_size)) / 2);
				if (rtl) {
					text_offset.x = margin_end;
				}
				HorizontalAlignment text_align = rtl ? HORIZONTAL_ALIGNMENT_RIGHT : HORIZONTAL_ALIGNMENT_LEFT;
				draw_string(font, text_offset, label, text_align, available, font_size, font_color, TextServer::JUSTIFICATION_KASHIDA | TextServer::JUSTIFICATION_CONSTRAIN_ELLIPSIS);