### 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
if ((format & RS::ARRAY_FORMAT_VERTEX) == 0 && !(format & RS::ARRAY_FLAG_USES_EMPTY_VERTEX_ARRAY)) {
		ERR_PRINT("Mesh created without vertex array. This mesh will not be visible with the default shader. If using an empty vertex array is intentional, create the mesh with the ARRAY_FLAG_USES_EMPTY_VERTEX_ARRAY flag to silence this error.");
		
		format |= RS::ARRAY_FLAG_USES_EMPTY_VERTEX_ARRAY;
	}
	int vertex_array_size = vertex_element_size * array_len;
	int attrib_array_size = attrib_element_size * array_len;
	int skin_array_size = skin_element_size * array_len;
	int index_array_size = offsets[RS::ARRAY_INDEX] * index_array_len;
	Vector<uint8_t> vertex_array;
	vertex_array.resize(vertex_array_size);
	Vector<uint8_t> attrib_array;
	attrib_array.resize(attrib_array_size);
	Vector<uint8_t> skin_array;
	skin_array.resize(skin_array_size);
	Vector<uint8_t> index_array;
	index_array.resize(index_array_size);
	AABB aabb;
	Vector<AABB> bone_aabb;
	Error err = _surface_set_data(p_arrays, format, offsets, vertex_element_size, attrib_element_size, skin_element_size, vertex_array, attrib_array, skin_array, array_len, index_array, index_array_len, aabb, bone_aabb);
	ERR_FAIL_COND_V_MSG(err != OK, ERR_INVALID_DATA, "Invalid array format for surface.");
	Vector<uint8_t> blend_shape_data;
	if (p_blend_shapes.size()) {
		uint32_t bs_format = format & RS::ARRAY_FORMAT_BLEND_SHAPE_MASK;
		for (int i = 0; i < p_blend_shapes.size(); i++) {
			Vector<uint8_t> vertex_array_shape;
			vertex_array_shape.resize(vertex_array_size);
			Vector<uint8_t> noindex;
			Vector<uint8_t> noattrib;
			Vector<uint8_t> noskin;