### Godot version

v4.0.2.stable.official [7a0977ce2]

### System information

Windows 10

### Issue description

The settings found in **application/config/project_settings_override** end up being written to the `res://project.godot` every time the editor is started.

I find this inconvenient, `res://project.godot` is always on the changelist in git because of this.

I think it would be better if settings with the same value as found in **application/config/project_settings_override** were persisted in `res://project.godot` **only** when set by the "editor interface" or "by code" and not by the "merge" that happens at the start of the editor.

### Steps to reproduce

1. Before opening the MRP in the editor, note **window/size/mode** value within `res://project.godot`;
2. Now open it in the editor and check the `res://project.godot`, notice that **window/size/mode** was changed by the contents of `res://project_override.cfg` (which is the **application/config/project_settings_override** file).

### Minimal reproduction project

[Projects Override Merging Into Project Godot.zip](https://github.com/godotengine/godot/files/11555239/Projects.Override.Merging.Into.Project.Godot.zip)
if (FileAccess::exists(get_resource_path().path_join(get_safe_project_name() + ".csproj"))) {
		
		if (!project_features.has("C#")) {
			project_features.append("C#");
		}
	} else {
		
		if (project_features.has("C#")) {
			project_features.remove_at(project_features.find("C#"));
		}
	}
	project_features = _trim_to_supported_features(project_features);
	set_setting("application/config/features", project_features);
#endif 
	RBSet<_VCSort> vclist;
	if (p_merge_with_current) {
		for (const KeyValue<StringName, VariantContainer> &G : props) {
			const VariantContainer *v = &G.value;
			if (v->hide_from_editor) {
				continue;
			}
			if (p_custom.has(G.key)) {
				continue;
			}
			_VCSort vc;
			vc.name = G.key; 
			vc.order = v->order;
			vc.type = v->variant.get_type();
			vc.flags = PROPERTY_USAGE_EDITOR | PROPERTY_USAGE_STORAGE;