### Godot version

9f12e7b52d944

### System information

arch linux

### Issue description

Attempting to edit from the editor a typed array exported from a tool script fails, any value is immediately reset, setters are never called.

### Steps to reproduce

Create a script such as follows and try to add and then change items of the array in the inspector.


```gdscript
@tool
extends Node

@export var x: Array[String]
```

### Minimal reproduction project

n/a
paginator->update(page_index, max_page);
		paginator->set_visible(max_page > 0);
		int amount = MIN(size - offset, page_length);
		for (int i = 0; i < amount; i++) {
			bool reorder_is_from_current_page = reorder_from_index / page_length == page_index;
			if (reorder_is_from_current_page && i == reorder_from_index % page_length) {
				
				continue;
			}
			if (!reorder_is_from_current_page && i == reorder_to_index % page_length) {
				
				
				
				continue;
			}
			HBoxContainer *hbox = memnew(HBoxContainer);
			property_vbox->add_child(hbox);
			Button *reorder_button = memnew(Button);
			reorder_button->set_icon(get_theme_icon(SNAME("TripleBar"), SNAME("EditorIcons")));
			reorder_button->set_default_cursor_shape(Control::CURSOR_MOVE);
			reorder_button->set_disabled(is_read_only());
			reorder_button->connect("gui_input", callable_mp(this, &EditorPropertyArray::_reorder_button_gui_input));
			reorder_button->connect("button_down", callable_mp(this, &EditorPropertyArray::_reorder_button_down).bind(i + offset));
			reorder_button->connect("button_up", callable_mp(this, &EditorPropertyArray::_reorder_button_up));
			hbox->add_child(reorder_button);
			String prop_name = "indices/" + itos(i + offset);
			EditorProperty *prop = nullptr;
			Variant value = array.get(i + offset);
			Variant::Type value_type = value.get_type();
			if (value_type == Variant::NIL && subtype != Variant::NIL) {