### Godot version

v4.2.dev.custom_build [0ca854232]

### System information

Pop Os 22.04 lts 12th Gen Intel® Core™ i7-12700H × 20 NVIDIA RTX A2000 8GB 32.0GB  ram

### Issue description

A node that has a script attached to it and it has a couple of child nodes (type of a child node doesn't matter). In the script you have an export variable of type Node. You save the scene into a file and you add it in level scene. When you start to duplicate that scene in the level and you'll hover over exported variable to show a node path, it will show an incorrect path. 


https://github.com/godotengine/godot/assets/33091666/75088d1b-c014-41e0-bae3-46610eccbad1



### Steps to reproduce

1. create a scene with a node and a child node.
2. attach a script to the parent node and create an export variable of type Node
3. assign child node to that exported variable through the editor
4. save the scene and create a level scene where you are going to add just saved scene.
5. _Possibly requires a reboot of the engine before seeing the bug_
6. start duplicating nodes in the level scene

### Minimal reproduction project

[NodeTest.zip](https://github.com/godotengine/godot/files/12781547/NodeTest.zip)

ERR_THREAD_GUARD_V(nullptr);
	if (p_path.is_empty()) {
		return nullptr;
	}
	ERR_FAIL_COND_V_MSG(!data.inside_tree && p_path.is_absolute(), nullptr, "Can't use get_node() with absolute paths from outside the active scene tree.");
	Node *current = nullptr;
	Node *root = nullptr;
	if (!p_path.is_absolute()) {
		current = const_cast<Node *>(this); 
	} else {
		root = const_cast<Node *>(this);
		while (root->data.parent) {
			root = root->data.parent; 
		}
	}
	for (int i = 0; i < p_path.get_name_count(); i++) {
		StringName name = p_path.get_name(i);
		Node *next = nullptr;
		if (name == SceneStringNames::get_singleton()->dot) { 
			next = current;
		} else if (name == SceneStringNames::get_singleton()->doubledot) { 
			if (current == nullptr || !current->data.parent) {
				return nullptr;
			}
			next = current->data.parent;
		} else if (current == nullptr) {
			if (name == root->get_name()) {
				next = root;
			}
		} else if (name.is_node_unique_name()) {