### 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
const Vector3 *src = array.ptr();
				for (int i = 0; i < p_vertex_array_len; i++) {
					Vector2 res = src[i].octahedron_encode();
					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_TANGENT: {
				Variant::Type type = p_arrays[ai].get_type();
				ERR_FAIL_COND_V(type != Variant::PACKED_FLOAT32_ARRAY && type != Variant::PACKED_FLOAT64_ARRAY, ERR_INVALID_PARAMETER);
				if (type == Variant::PACKED_FLOAT32_ARRAY) {
					Vector<float> array = p_arrays[ai];
					ERR_FAIL_COND_V(array.size() != p_vertex_array_len * 4, ERR_INVALID_PARAMETER);
					const float *src_ptr = array.ptr();
					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);
					}
				} else { 
					Vector<double> array = p_arrays[ai];
					ERR_FAIL_COND_V(array.size() != p_vertex_array_len * 4, ERR_INVALID_PARAMETER);
					const double *src_ptr = array.ptr();