### 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 (setting) {
		return;
	}
	edit_euler.x = euler[0]->get_value();
	edit_euler.y = euler[1]->get_value();
	edit_euler.z = euler[2]->get_value();
	Vector3 v;
	v.x = Math::deg_to_rad(edit_euler.x);
	v.y = Math::deg_to_rad(edit_euler.y);
	v.z = Math::deg_to_rad(edit_euler.z);
	Quaternion temp_q = Quaternion::from_euler(v);
	spin[0]->set_value(temp_q.x);
	spin[1]->set_value(temp_q.y);
	spin[2]->set_value(temp_q.z);
	spin[3]->set_value(temp_q.w);
}
void EditorPropertyQuaternion::_value_changed(double val, const String &p_name) {
	if (setting) {
		return;
	}
	Quaternion p;
	p.x = spin[0]->get_value();
	p.y = spin[1]->get_value();
	p.z = spin[2]->get_value();
	p.w = spin[3]->get_value();
	emit_changed(get_edited_property(), p, p_name);
}
bool EditorPropertyQuaternion::is_grabbing_euler() {