### Godot version

4.1.2

### System information

Godot v4.1.2.stable.mono - Windows 11 22h2 - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 3060 (NVIDIA; 31.0.15.3742) - 11th Gen Intel(R) Core(TM) i5-11600K @ 3.90GHz (12 Threads)

### Issue description

in a right to left language (in my case Persian) the Ui gets inverted and i know it should be like that but you just cant work i will leave a screen shot so  you can see
![Screenshot 2023-11-16 042657](https://github.com/godotengine/godot/assets/118190096/76f0849d-945d-407b-b450-391c65c01f0e)


### Steps to reproduce

change the language to Persian

### Minimal reproduction project

N/A
Ref<DirAccess> dir = DirAccess::open(p_root_dir);
	ERR_FAIL_COND_V(dir.is_null(), false);
	dir->list_dir_begin();
	String file_name = dir->_get_next();
	while (file_name != "") {
		if (!dir->current_is_dir() && file_name.get_extension() == "csproj") {
			return true;
		}
		file_name = dir->_get_next();
	}
	return false;
}
#endif 
Error ProjectSettings::save_custom(const String &p_path, const CustomMap &p_custom, const Vector<String> &p_custom_features, bool p_merge_with_current) {
	ERR_FAIL_COND_V_MSG(p_path.is_empty(), ERR_INVALID_PARAMETER, "Project settings save path cannot be empty.");
#ifdef TOOLS_ENABLED
	PackedStringArray project_features = get_setting("application/config/features");
	
	if (project_features.is_empty()) {
		project_features = ProjectSettings::get_required_features();
	}
	
	const String rendering_api = has_setting("rendering/renderer/rendering_method") ? (String)get_setting("rendering/renderer/rendering_method") : String();
	if (!rendering_api.is_empty()) {
		
		if (!project_features.has(rendering_api)) {
			project_features.append(rendering_api);
		}
	}