### Godot version

v4.2.dev4.official [549fcce5f]

### System information

Godot v4.2.dev4 - Windows 10.0.19045 - Vulkan (Forward+) - dedicated NVIDIA GeForce GTX 1060 6GB (NVIDIA; 31.0.15.3640) - Intel(R) Core(TM) i5-3570K CPU @ 3.40GHz (4 Threads)

### Issue description

If the folder has assigned a color, the color is reset to default when the folder name is changed. Also subfolder colors are reset.

Also moving a folder resets its and its subfolders' colors.

I would expect that renaming or moving doesn't rest the folder color. Especially if you have a large folder structure with many folder levels and assigned colors, it is a unfortunate to have all colors reset if the top level folder is renamed.

### Steps to reproduce

1. Create folder structure 

```
level1
	level2
		level3
```

2. Set folder colors to `level1` and `level2.`

3. Rename `level1` to `foobar` 

-> All folders are now using the default color.


### Minimal reproduction project

N/A
HBoxContainer *path_hb = nullptr;
	FileListDisplayMode file_list_display_mode;
	DisplayMode display_mode;
	DisplayMode old_display_mode;
	PopupMenu *file_list_popup = nullptr;
	PopupMenu *tree_popup = nullptr;
	DependencyEditor *deps_editor = nullptr;
	DependencyEditorOwners *owners_editor = nullptr;
	DependencyRemoveDialog *remove_dialog = nullptr;
	EditorDirDialog *move_dialog = nullptr;
	ConfirmationDialog *duplicate_dialog = nullptr;
	LineEdit *duplicate_dialog_text = nullptr;
	DirectoryCreateDialog *make_dir_dialog = nullptr;
	ConfirmationDialog *overwrite_dialog = nullptr;
	ScrollContainer *overwrite_dialog_scroll = nullptr;
	Label *overwrite_dialog_header = nullptr;
	Label *overwrite_dialog_footer = nullptr;
	Label *overwrite_dialog_file_list = nullptr;
	SceneCreateDialog *make_scene_dialog = nullptr;
	ScriptCreateDialog *make_script_dialog = nullptr;
	ShaderCreateDialog *make_shader_dialog = nullptr;
	CreateDialog *new_resource_dialog = nullptr;
	bool always_show_folders = false;
	bool editor_is_dark_theme = false;
	class FileOrFolder {
	public:
		String path;
		bool is_file = false;
		FileOrFolder() {}
		FileOrFolder(const String &p_path, bool p_is_file) :