### Godot version

v4.0.beta.custom_build [cc89fcbd0]

### System information

Linux (Ubuntu 22.04), Vulkan, Radeon RX Vega 64 (eGPU)

### Issue description

The text editor doesn't register in the navigation history the local navigation.

In a large file, the user can CTRL+click on definitions of the same file to navigate quickly to a function or a class in the opened script. When the user clicks on the previous or next buttons, that local navigation seems to be not considered.

See this video for a recreation of the issue:

[Capture vidéo du 2023-01-15 17:57:45.webm](https://user-images.githubusercontent.com/270928/212571752-d05c5d85-cc7f-434b-b020-316f6194ad13.webm)


### Steps to reproduce

1. Open the MRP;
2. Open `main.gd`;
3. CTRL+click on `test()` in `_ready()`;
4. CTRL+click on `Inner` in `test()`;
5. Press on the previous button (or the previous button on your mouse);
6. See that the navigation wasn't registered in the history.

### Minimal reproduction project

[history_local.zip](https://github.com/godotengine/godot/files/10421462/history_local.zip)

se->connect("edited_script_changed", callable_mp(this, &ScriptEditor::_script_changed));
	se->connect("request_help", callable_mp(this, &ScriptEditor::_help_search));
	se->connect("request_open_script_at_line", callable_mp(this, &ScriptEditor::_goto_script_line));
	se->connect("go_to_help", callable_mp(this, &ScriptEditor::_help_class_goto));
	se->connect("request_save_history", callable_mp(this, &ScriptEditor::_save_history));
	se->connect("search_in_files_requested", callable_mp(this, &ScriptEditor::_on_find_in_files_requested));
	se->connect("replace_in_files_requested", callable_mp(this, &ScriptEditor::_on_replace_in_files_requested));
	se->connect("go_to_method", callable_mp(this, &ScriptEditor::script_goto_method));
	
	_test_script_times_on_disk(p_resource);
	_update_modified_scripts_for_external_editor(p_resource);
	if (p_line > 0) {
		se->goto_line(p_line - 1);
	}
	notify_script_changed(p_resource);
	return true;
}
void ScriptEditor::save_current_script() {
	ScriptEditorBase *current = _get_current_editor();
	if (!current || _test_script_times_on_disk()) {
		return;
	}
	if (trim_trailing_whitespace_on_save) {
		current->trim_trailing_whitespace();
	}
	current->insert_final_newline();
	if (convert_indent_on_save) {
		if (use_space_indentation) {
			current->convert_indent_to_spaces();
		} else {