### 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)


if (mesh.is_valid()) {
				const RID *materials = nullptr;
				uint32_t surface_count;
				materials = mesh_storage->mesh_get_surface_count_and_materials(mesh, surface_count);
				if (materials) {
					for (uint32_t j = 0; j < surface_count; j++) {
						_geometry_instance_add_surface(ginstance, j, materials[j], mesh);
					}
				}
				ginstance->instance_count = mesh_storage->multimesh_get_instances_to_draw(ginstance->data->base);
			}
		} break;
#if 0
		case RS::INSTANCE_IMMEDIATE: {
			RasterizerStorageGLES3::Immediate *immediate = storage->immediate_owner.get_or_null(inst->base);
			ERR_CONTINUE(!immediate);
			_add_geometry(immediate, inst, nullptr, -1, p_depth_pass, p_shadow_pass);
		} break;
#endif
		case RS::INSTANCE_PARTICLES: {
			int draw_passes = particles_storage->particles_get_draw_passes(ginstance->data->base);
			for (int j = 0; j < draw_passes; j++) {
				RID mesh = particles_storage->particles_get_draw_pass_mesh(ginstance->data->base, j);
				if (!mesh.is_valid()) {
					continue;
				}
				const RID *materials = nullptr;
				uint32_t surface_count;
				materials = mesh_storage->mesh_get_surface_count_and_materials(mesh, surface_count);
				if (materials) {