### 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++) {
							memcpy(&aw[p_offsets[ai] + i * p_attrib_stride], &src[i * 4], 4);
						}
					} break;
					case ARRAY_CUSTOM_RGBA_HALF: {
						
						ERR_FAIL_COND_V(p_arrays[ai].get_type() != Variant::PACKED_BYTE_ARRAY, ERR_INVALID_PARAMETER);
						Vector<uint8_t> array = p_arrays[ai];
						ERR_FAIL_COND_V(array.size() != p_vertex_array_len * 8, ERR_INVALID_PARAMETER);
						const uint8_t *src = array.ptr();
						for (int i = 0; i < p_vertex_array_len; i++) {
							memcpy(&aw[p_offsets[ai] + i * p_attrib_stride], &src[i * 8], 8);
						}
					} break;
					case ARRAY_CUSTOM_R_FLOAT:
					case ARRAY_CUSTOM_RG_FLOAT:
					case ARRAY_CUSTOM_RGB_FLOAT:
					case ARRAY_CUSTOM_RGBA_FLOAT: {
						
						ERR_FAIL_COND_V(p_arrays[ai].get_type() != Variant::PACKED_FLOAT32_ARRAY, ERR_INVALID_PARAMETER);
						Vector<float> array = p_arrays[ai];
						int32_t s = type - ARRAY_CUSTOM_R_FLOAT + 1;
						ERR_FAIL_COND_V(array.size() != p_vertex_array_len * s, ERR_INVALID_PARAMETER);
						const float *src = array.ptr();
						for (int i = 0; i < p_vertex_array_len; i++) {
							memcpy(&aw[p_offsets[ai] + i * p_attrib_stride], &src[i * s], sizeof(float) * s);
						}
					} break;
					default: {
					}