### Godot version

v4.1.stable.official [970459615]

### System information

Windows 10, Forward+, AMD Radeon R9 290X

### Issue description

There's no way to reorder items "across" pages in paged lists in the inspector - items can only be rearranged within the page they're already in. The "Max Array Dictionary Items per Page" setting doesn't seem to affect OptionButton Item lists.

There are two ways around the issue: add a script that orders the items as desired, or delete items until the item you need to reorder is on the right page, then re-add the items you deleted.

### Steps to reproduce

1. Create an OptionButton
2. Add six items
3. See that the last item is on a new page
4. There's no way to change the position of the last item

### Minimal reproduction project

[OptionButtonItemListIssueMRP.zip](https://github.com/godotengine/godot/files/12323899/OptionButtonItemListIssueMRP.zip)

GDCLASS(EditorInspectorPlugin, RefCounted);
public:
	friend class EditorInspector;
	struct AddedEditor {
		Control *property_editor = nullptr;
		Vector<String> properties;
		String label;
		bool add_to_end = false;
	};
	List<AddedEditor> added_editors;
protected:
	static void _bind_methods();
	GDVIRTUAL1RC(bool, _can_handle, Object *)
	GDVIRTUAL1(_parse_begin, Object *)
	GDVIRTUAL2(_parse_category, Object *, String)
	GDVIRTUAL2(_parse_group, Object *, String)
	GDVIRTUAL7R(bool, _parse_property, Object *, Variant::Type, String, PropertyHint, String, BitField<PropertyUsageFlags>, bool)
	GDVIRTUAL1(_parse_end, Object *)
public:
	void add_custom_control(Control *control);
	void add_property_editor(const String &p_for_property, Control *p_prop, bool p_add_to_end = false);
	void add_property_editor_for_multiple_properties(const String &p_label, const Vector<String> &p_properties, Control *p_prop);
	virtual bool can_handle(Object *p_object);
	virtual void parse_begin(Object *p_object);
	virtual void parse_category(Object *p_object, const String &p_category);
	virtual void parse_group(Object *p_object, const String &p_group);
	virtual bool parse_property(Object *p_object, const Variant::Type p_type, const String &p_path, const PropertyHint p_hint, const String &p_hint_text, const BitField<PropertyUsageFlags> p_usage, const bool p_wide = false);
	virtual void parse_end(Object *p_object);
};
class EditorInspectorCategory : public Control {