### 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
clear();
		ERR_FAIL_V(err);
	}
	err = _parse_connections(scene, scene, name_map, variant_map, node_map, nodepath_map);
	if (err) {
		clear();
		ERR_FAIL_V(err);
	}
	names.resize(name_map.size());
	for (const KeyValue<StringName, int> &E : name_map) {
		names.write[E.value] = E.key;
	}
	variants.resize(variant_map.size());
	for (const KeyValue<Variant, int> &E : variant_map) {
		int idx = E.value;
		variants.write[idx] = E.key;
	}
	node_paths.resize(nodepath_map.size());
	for (const KeyValue<Node *, int> &E : nodepath_map) {
		node_paths.write[E.value] = scene->get_path_to(E.key);
	}
	if (Engine::get_singleton()->is_editor_hint()) {
		
		for (const KeyValue<Node *, int> &E : node_map) {
			node_path_cache[scene->get_path_to(E.key)] = E.value;
		}
	}
	return OK;
}
void SceneState::set_path(const String &p_path) {