### Godot version

4.0 Stable

### System information

Ubuntu 22.04

### Issue description

Setting fog_affect_sky = 1 do not have the desired effect when using a Color sky mode. It works properly if we use a procedural sky or the forward+ renderer.

![Screenshot from 2023-03-03 16-50-53](https://user-images.githubusercontent.com/8985409/222870514-0195c4cb-bbca-4e9b-bb6a-6e2a568d2f7b.png)


### Steps to reproduce

Add a sky with a plain color mode like the Clear Color default option. Enable fog and set fog_affect_sky value to 1. Sky is still not affected by fog. 

### Minimal reproduction project
[mobile_fog_sky_bug.zip](https://github.com/godotengine/godot/files/10887265/mobile_fog_sky_bug.zip)


}
	}
}
void RenderForwardMobile::_geometry_instance_update(RenderGeometryInstance *p_geometry_instance) {
	RendererRD::MeshStorage *mesh_storage = RendererRD::MeshStorage::get_singleton();
	RendererRD::ParticlesStorage *particles_storage = RendererRD::ParticlesStorage::get_singleton();
	GeometryInstanceForwardMobile *ginstance = static_cast<GeometryInstanceForwardMobile *>(p_geometry_instance);
	if (ginstance->data->dirty_dependencies) {
		ginstance->data->dependency_tracker.update_begin();
	}
	
	switch (ginstance->data->base_type) {
		case RS::INSTANCE_MESH: {
			const RID *materials = nullptr;
			uint32_t surface_count;
			RID mesh = ginstance->data->base;
			materials = mesh_storage->mesh_get_surface_count_and_materials(mesh, surface_count);
			if (materials) {
				
				const RID *inst_materials = ginstance->data->surface_materials.ptr();
				uint32_t surf_mat_count = ginstance->data->surface_materials.size();
				for (uint32_t j = 0; j < surface_count; j++) {
					RID material = (j < surf_mat_count && inst_materials[j].is_valid()) ? inst_materials[j] : materials[j];
					_geometry_instance_add_surface(ginstance, j, material, mesh);
				}
			}
			ginstance->instance_count = 1;
		} break;
		case RS::INSTANCE_MULTIMESH: {
			RID mesh = mesh_storage->multimesh_get_mesh(ginstance->data->base);