### 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
if (new_name.length() == 0) {
		EditorNode::get_singleton()->show_warning(TTR("No name provided."));
		rename_error = true;
	} else if (new_name.contains("/") || new_name.contains("\\") || new_name.contains(":")) {
		EditorNode::get_singleton()->show_warning(TTR("Name contains invalid characters."));
		rename_error = true;
	} else if (new_name[0] == '.') {
		EditorNode::get_singleton()->show_warning(TTR("This filename begins with a dot rendering the file invisible to the editor.\nIf you want to rename it anyway, use your operating system's file manager."));
		rename_error = true;
	} else if (to_rename.is_file && to_rename.path.get_extension() != new_name.get_extension()) {
		if (!EditorFileSystem::get_singleton()->get_valid_extensions().find(new_name.get_extension())) {
			EditorNode::get_singleton()->show_warning(TTR("This file extension is not recognized by the editor.\nIf you want to rename it anyway, use your operating system's file manager.\nAfter renaming to an unknown extension, the file won't be shown in the editor anymore."));
			rename_error = true;
		}
	}
	
	if (rename_error && tree->has_focus()) {
		s->set_text(col_index, old_name);
		return;
	} else if (rename_error && files->has_focus()) {
		return;
	}
	String old_path = to_rename.path.ends_with("/") ? to_rename.path.left(-1) : to_rename.path;
	String new_path = old_path.get_base_dir().path_join(new_name);
	if (old_path == new_path) {
		return;
	}
	if (EditorFileSystem::get_singleton()->is_group_file(old_path)) {
		EditorFileSystem::get_singleton()->move_group_file(old_path, new_path);
	}