### 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 (p_path.ends_with(".binary")) {
		return _load_settings_binary(p_path);
	}
	return _load_settings_text(p_path);
}
int ProjectSettings::get_order(const String &p_name) const {
	ERR_FAIL_COND_V_MSG(!props.has(p_name), -1, "Request for nonexistent project setting: " + p_name + ".");
	return props[p_name].order;
}
void ProjectSettings::set_order(const String &p_name, int p_order) {
	ERR_FAIL_COND_MSG(!props.has(p_name), "Request for nonexistent project setting: " + p_name + ".");
	props[p_name].order = p_order;
}
void ProjectSettings::set_builtin_order(const String &p_name) {
	ERR_FAIL_COND_MSG(!props.has(p_name), "Request for nonexistent project setting: " + p_name + ".");
	if (props[p_name].order >= NO_BUILTIN_ORDER_BASE) {
		props[p_name].order = last_builtin_order++;
	}
}
bool ProjectSettings::is_builtin_setting(const String &p_name) const {
	
	ERR_FAIL_COND_V_MSG(!props.has(p_name), true, "Request for nonexistent project setting: " + p_name + ".");
	return props[p_name].order < NO_BUILTIN_ORDER_BASE;
}
void ProjectSettings::clear(const String &p_name) {
	ERR_FAIL_COND_MSG(!props.has(p_name), "Request for nonexistent project setting: " + p_name + ".");
	props.erase(p_name);
}
Error ProjectSettings::save() {