### Godot version

4.0.stable

### System information

Windows 10, MacOS

### Issue description

Some combination of ~~#72301~~#72031 and #73829 and the differing platform default settings + not including default values in project.godot has created a frustrating problem. 

When a developer on the project opens it in Windows, it deletes `rendering/textures/vram_compression/import_s3tc_bptc=true` from project.godot. When that happens, the MacOS version then re-imports everything as only ASTC and updates all the `.import` files. And then it deletes `rendering/textures/vram_compression/import_etc2_astc=true` from project.godot. Then the windows machine re-imports everything, and forever and ever they fight over import files, unless we're diligent about not letting that particular change in `project.godot`. 

This has made cross-platform development very obnoxious and with high quality textures, the constant re-imports can take a very long time. 

### Steps to reproduce

1. Add a VRAM Compressed Texture to a project. 
2. Attempt to make both platforms happy by enabling both VRAM compression formats.
3. Re-open on both Windows and MacOS.

### Minimal reproduction project

N/A
for (int i = 0; i < p_vertex_array_len; i++) {
						const Vector3 src(src_ptr[i * 4 + 0], src_ptr[i * 4 + 1], src_ptr[i * 4 + 2]);
						Vector2 res = src.octahedron_tangent_encode(src_ptr[i * 4 + 3]);
						int16_t vector[2] = {
							(int16_t)CLAMP(res.x * 65535, 0, 65535),
							(int16_t)CLAMP(res.y * 65535, 0, 65535),
						};
						memcpy(&vw[p_offsets[ai] + i * p_vertex_stride], vector, 4);
					}
				}
			} break;
			case RS::ARRAY_COLOR: {
				ERR_FAIL_COND_V(p_arrays[ai].get_type() != Variant::PACKED_COLOR_ARRAY, ERR_INVALID_PARAMETER);
				Vector<Color> array = p_arrays[ai];
				ERR_FAIL_COND_V(array.size() != p_vertex_array_len, ERR_INVALID_PARAMETER);
				const Color *src = array.ptr();
				for (int i = 0; i < p_vertex_array_len; i++) {
					uint8_t color8[4] = {
						uint8_t(CLAMP(src[i].r * 255.0, 0.0, 255.0)),
						uint8_t(CLAMP(src[i].g * 255.0, 0.0, 255.0)),
						uint8_t(CLAMP(src[i].b * 255.0, 0.0, 255.0)),
						uint8_t(CLAMP(src[i].a * 255.0, 0.0, 255.0))
					};
					memcpy(&aw[p_offsets[ai] + i * p_attrib_stride], color8, 4);
				}
			} break;
			case RS::ARRAY_TEX_UV: {
				ERR_FAIL_COND_V(p_arrays[ai].get_type() != Variant::PACKED_VECTOR3_ARRAY && p_arrays[ai].get_type() != Variant::PACKED_VECTOR2_ARRAY, ERR_INVALID_PARAMETER);
				Vector<Vector2> array = p_arrays[ai];
				ERR_FAIL_COND_V(array.size() != p_vertex_array_len, ERR_INVALID_PARAMETER);