### Godot version

4.1.1

### System information

windows 11, mobile renderer

### Issue description

On Mobile Vulkan renderer, the clear color is 50% lighter than expected

See steps to reproduce and Minimal reproduction project below.

The box and background have the same color on Forward+ and compatibility, but not on Mobile
happens also in runtime on exported project, not only in editor preview

Images of the same scene from
compatibility:
![compatibility](https://github.com/godotengine/godot/assets/11915378/a874fa86-c16f-43ef-aed7-c2066b770ac1)
Forward+:
![forward](https://github.com/godotengine/godot/assets/11915378/e416f9a6-dfd4-4c47-bbc2-b552ca58f83c)
Mobile:
![mobile](https://github.com/godotengine/godot/assets/11915378/e28e2db8-f7c3-47e2-8c0a-44ce937c9270)


### Steps to reproduce

 - add a CSGBox3D with "unshaded" shading, and albedo of #545454
 - add environment with Background = Custom color and color of #545454

Box and background are not the same color

### Minimal reproduction project

[bg_color.zip](https://github.com/godotengine/godot/files/12174822/bg_color.zip)

ginstance->base_flags |= (ginstance->trail_steps << INSTANCE_DATA_FLAGS_PARTICLE_TRAIL_SHIFT);
		if (!particles_storage->particles_is_using_local_coords(ginstance->data->base)) {
			store_transform = false;
		}
		ginstance->transforms_uniform_set = particles_storage->particles_get_instance_buffer_uniform_set(ginstance->data->base, scene_shader.default_shader_rd, TRANSFORMS_UNIFORM_SET);
		if (particles_storage->particles_get_frame_counter(ginstance->data->base) == 0) {
			
			particles_storage->update_particles();
		}
		if (ginstance->data->dirty_dependencies) {
			particles_storage->particles_update_dependency(ginstance->data->base, &ginstance->data->dependency_tracker);
		}
	} else if (ginstance->data->base_type == RS::INSTANCE_MESH) {
		if (mesh_storage->skeleton_is_valid(ginstance->data->skeleton)) {
			ginstance->transforms_uniform_set = mesh_storage->skeleton_get_3d_uniform_set(ginstance->data->skeleton, scene_shader.default_shader_rd, TRANSFORMS_UNIFORM_SET);
			if (ginstance->data->dirty_dependencies) {
				mesh_storage->skeleton_update_dependency(ginstance->data->skeleton, &ginstance->data->dependency_tracker);
			}
		} else {
			ginstance->transforms_uniform_set = RID();
		}
	}
	ginstance->store_transform_cache = store_transform;
	if (ginstance->data->dirty_dependencies) {
		ginstance->data->dependency_tracker.update_end();
		ginstance->data->dirty_dependencies = false;
	}
	ginstance->dirty_list_element.remove_from_list();
}
void RenderForwardMobile::_update_dirty_geometry_instances() {