### Godot version

4.1.dev (4d5f10fc3a)

### System information

macOS 13.3.0 - Vulkan (Forward+) - integrated Apple M1 Pro - Apple M1 Pro (8 Threads)

### Issue description

When a script was attached to a node in a saved scene and this script is exporting a member typed with `Array[Node]` . Reopening the scene when the script is missing because it was deleted or moved will cause a crash






### Steps to reproduce

1. Create a scene with two nodes
2. attach a script to the root with just one exported member typed as `Array[Node]` 
3. Add both nodes to the exported member
4. Save the scene
5. close the scene 
6. Delete the script 
7. Try to open the scene again godot will crash 

### Minimal reproduction project

with the MRP you can start reproduction steps at the sixth step.
[Test.zip](https://github.com/godotengine/godot/files/11749000/Test.zip)
d["variants"] = variants;
	Vector<int> rnodes;
	d["node_count"] = nodes.size();
	for (int i = 0; i < nodes.size(); i++) {
		const NodeData &nd = nodes[i];
		rnodes.push_back(nd.parent);
		rnodes.push_back(nd.owner);
		rnodes.push_back(nd.type);
		uint32_t name_index = nd.name;
		if (nd.index < (1 << (32 - NAME_INDEX_BITS)) - 1) { 
			name_index |= uint32_t(nd.index + 1) << NAME_INDEX_BITS; 
		}
		rnodes.push_back(name_index);
		rnodes.push_back(nd.instance);
		rnodes.push_back(nd.properties.size());
		for (int j = 0; j < nd.properties.size(); j++) {
			rnodes.push_back(nd.properties[j].name);
			rnodes.push_back(nd.properties[j].value);
		}
		rnodes.push_back(nd.groups.size());
		for (int j = 0; j < nd.groups.size(); j++) {
			rnodes.push_back(nd.groups[j]);
		}
	}
	d["nodes"] = rnodes;
	Vector<int> rconns;
	d["conn_count"] = connections.size();
	for (int i = 0; i < connections.size(); i++) {
		const ConnectionData &cd = connections[i];
		rconns.push_back(cd.from);