### 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
if (is_read_only()) {
		return false;
	}
	String allowed_type = Variant::get_type_name(subtype);
	
	
	if (subtype == Variant::OBJECT && !subtype_hint_string.is_empty()) {
		allowed_type = subtype_hint_string;
	}
	Dictionary drag_data = p_drag_data;
	if (drag_data.has("type") && String(drag_data["type"]) == "files") {
		Vector<String> files = drag_data["files"];
		for (int i = 0; i < files.size(); i++) {
			String file = files[i];
			String ftype = EditorFileSystem::get_singleton()->get_file_type(file);
			for (int j = 0; j < allowed_type.get_slice_count(","); j++) {
				String at = allowed_type.get_slice(",", j).strip_edges();
				
				if (!ClassDB::is_parent_class(ftype, at)) {
					return false;
				}
			}
		}
		
		return true;
	}
	return false;
}
bool EditorPropertyArray::can_drop_data_fw(const Point2 &p_point, const Variant &p_data, Control *p_from) const {