### Godot version

v4.0.beta.custom_build [0abd60b95]

### System information

Windows 10, Vulkan

### Issue description

Autocomplete doesn't work when trying to access a scene node that isn't a direct child of the scene root script, using $NodePath (Shorthand for get_node("NodePath") as per docs).

Example:
![image](https://user-images.githubusercontent.com/115422160/212197922-10e73c9f-de10-475e-ac6e-4163fc5b8013.png)

It worked in Godot 3.5:
![3.5](https://user-images.githubusercontent.com/115422160/212197992-61b67a42-86c6-4650-bab4-c7dfa5a67975.PNG)

I should mention that it works if you start by typing the name of a direct child:
![image](https://user-images.githubusercontent.com/115422160/212198641-6d8e6fca-a2d2-47a7-b627-2df95268daf5.png)

But when you have many nodes in the scene and longer names it's a pain to access the last children like that.


### Steps to reproduce

See above or MRP.

### Minimal reproduction project

[autocomplete bug.zip](https://github.com/godotengine/godot/files/10406695/autocomplete.bug.zip)

int l = code_completion_line_ofs + i;
					ERR_CONTINUE(l < 0 || l >= code_completion_options_count);
					Ref<TextLine> tl;
					tl.instantiate();
					tl->add_string(code_completion_options[l].display, font, font_size);
					int yofs = (row_height - tl->get_size().y) / 2;
					Point2 title_pos(code_completion_rect.position.x, code_completion_rect.position.y + i * row_height + yofs);
					
					const Ref<Texture2D> &icon = code_completion_options[l].icon;
					Rect2 icon_area(code_completion_rect.position.x, code_completion_rect.position.y + i * row_height, icon_area_size.width, icon_area_size.height);
					if (icon.is_valid()) {
						Size2 icon_size = icon_area.size * 0.7;
						icon->draw_rect(ci, Rect2(icon_area.position + (icon_area.size - icon_size) / 2, icon_size));
					}
					title_pos.x = icon_area.position.x + icon_area.size.width + icon_hsep;
					tl->set_width(code_completion_rect.size.width - (icon_area_size.x + icon_hsep));
					if (rtl) {
						if (code_completion_options[l].default_value.get_type() == Variant::COLOR) {
							draw_rect(Rect2(Point2(code_completion_rect.position.x, icon_area.position.y), icon_area_size), (Color)code_completion_options[l].default_value);
						}
						tl->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_RIGHT);
					} else {
						if (code_completion_options[l].default_value.get_type() == Variant::COLOR) {
							draw_rect(Rect2(Point2(code_completion_rect.position.x + code_completion_rect.size.width - icon_area_size.x, icon_area.position.y), icon_area_size), (Color)code_completion_options[l].default_value);
						}
						tl->set_horizontal_alignment(HORIZONTAL_ALIGNMENT_LEFT);
					}
					Point2 match_pos = Point2(code_completion_rect.position.x + icon_area_size.x + icon_hsep, code_completion_rect.position.y + i * row_height);
					for (int j = 0; j < code_completion_options[l].matches.size(); j++) {
						Pair<int, int> match = code_completion_options[l].matches[j];