### 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
AABB laabb;
			Error err2 = _surface_set_data(p_blend_shapes[i], bs_format, offsets, vertex_element_size, 0, 0, vertex_array_shape, noattrib, noskin, array_len, noindex, 0, laabb, bone_aabb);
			aabb.merge_with(laabb);
			ERR_FAIL_COND_V_MSG(err2 != OK, ERR_INVALID_DATA, "Invalid blend shape array format for surface.");
			blend_shape_data.append_array(vertex_array_shape);
		}
	}
	Vector<SurfaceData::LOD> lods;
	if (index_array_len) {
		List<Variant> keys;
		p_lods.get_key_list(&keys);
		keys.sort(); 
		for (const Variant &E : keys) {
			float distance = E;
			ERR_CONTINUE(distance <= 0.0);
			Vector<int> indices = p_lods[E];
			ERR_CONTINUE(indices.size() == 0);
			uint32_t index_count = indices.size();
			ERR_CONTINUE(index_count >= (uint32_t)index_array_len); 
			const int *r = indices.ptr();
			Vector<uint8_t> data;
			if (array_len <= 65536) {
				
				data.resize(indices.size() * 2);
				uint8_t *w = data.ptrw();
				uint16_t *index_ptr = (uint16_t *)w;
				for (uint32_t i = 0; i < index_count; i++) {
					index_ptr[i] = r[i];
				}
			} else {