### Godot version

4.0.2

### System information

Windows 10 x64

### Issue description

![image](https://user-images.githubusercontent.com/2223172/231459722-294d88f9-dae3-4a3f-8e7f-e5340ca0dd25.png)
Both paths point to the same node, but the second one appears as if the node wasn't found. I assume this is because the NodePaths in array don't have the scene's node as "parent", so the path can't be resolved properly.

### Steps to reproduce

1.
```GDScript
@export var np1: NodePath
@export var np2: Array[NodePath]
```
2. Assign the same node
3. Compare the results

### Minimal reproduction project

N/A
switch (v.get_type()) {
		case Variant::ARRAY: {
			Array a = v;
			for (int i = 0; i < a.size(); i++) {
				Variant v2 = a[i];
				if (v2.get_type() != Variant::ARRAY && v2.get_type() != Variant::DICTIONARY && v2.get_type() != Variant::OBJECT) {
					continue;
				}
				if (_find_recursive_resources(v2, resources_found)) {
					return true;
				}
			}
		} break;
		case Variant::DICTIONARY: {
			Dictionary d = v;
			List<Variant> keys;
			d.get_key_list(&keys);
			for (const Variant &k : keys) {
				if (k.get_type() == Variant::ARRAY || k.get_type() == Variant::DICTIONARY || k.get_type() == Variant::OBJECT) {
					if (_find_recursive_resources(k, resources_found)) {
						return true;