### Godot version

4.0-rc6

### System information

Fedora 37, Mesa Intel ADL GT2

### Issue description

Code that works as expected at runtime fails with Nil references to (assigned) exported vars in the editor:

![tool_global_position_error](https://user-images.githubusercontent.com/364501/222031460-ffb1ecbd-5175-4a42-8470-25285ba5f821.png)


### Steps to reproduce

Try to access the `global_position` of a `Node3D` that's assigned to an exported var.

See that it works at runtime.

See that it errors in the editor with:

> Invalid get index 'global_position' (on base: 'Nil').

### Minimal reproduction project

[tool_test.zip](https://github.com/godotengine/godot/files/10856640/tool_test.zip)

value = missing_resource_properties[E.name];
			}
		} else if (E.type == Variant::ARRAY && E.hint == PROPERTY_HINT_TYPE_STRING) {
			int hint_subtype_separator = E.hint_string.find(":");
			if (hint_subtype_separator >= 0) {
				String subtype_string = E.hint_string.substr(0, hint_subtype_separator);
				int slash_pos = subtype_string.find("/");
				PropertyHint subtype_hint = PropertyHint::PROPERTY_HINT_NONE;
				if (slash_pos >= 0) {
					subtype_hint = PropertyHint(subtype_string.get_slice("/", 1).to_int());
					subtype_string = subtype_string.substr(0, slash_pos);
				}
				Variant::Type subtype = Variant::Type(subtype_string.to_int());
				use_deferred_node_path_bit = subtype == Variant::OBJECT && subtype_hint == PROPERTY_HINT_NODE_TYPE;
			}
		}
		if (!pinned_props.has(name)) {
			bool is_valid_default = false;
			Variant default_value = PropertyUtils::get_property_default_value(p_node, name, &is_valid_default, &states_stack, true);
			if (is_valid_default && !PropertyUtils::is_property_value_different(value, default_value)) {
				continue;
			}
		}
		NodeData::Property prop;
		prop.name = _nm_get_string(name, name_map);
		prop.value = _vm_get_variant(value, variant_map);
		if (use_deferred_node_path_bit) {
			prop.name |= FLAG_PATH_PROPERTY_IS_NODE;
		}
		nd.properties.push_back(prop);