### 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 (InputMap::get_singleton()) {
		HashMap<String, List<Ref<InputEvent>>> builtins = InputMap::get_singleton()->get_builtins();
		for (KeyValue<String, List<Ref<InputEvent>>> &E : builtins) {
			Array events;
			
			for (List<Ref<InputEvent>>::Element *I = E.value.front(); I; I = I->next()) {
				events.push_back(I->get());
			}
			Dictionary action;
			action["deadzone"] = Variant(0.5f);
			action["events"] = events;
			String action_name = "input/" + E.key;
			GLOBAL_DEF(action_name, action);
			input_presets.push_back(action_name);
		}
	}
}
ProjectSettings::ProjectSettings() {
	
	
	CRASH_COND_MSG(singleton != nullptr, "Instantiating a new ProjectSettings singleton is not supported.");
	singleton = this;
	GLOBAL_DEF_BASIC("application/config/name", "");