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


inst->flags_cache = flags;
		GeometryInstanceSurfaceDataCache *surf = inst->surface_caches;
		while (surf) {
			surf->sort.uses_lightmap = 0;
			
			if (p_render_data->scene_data->screen_mesh_lod_threshold > 0.0 && mesh_storage->mesh_surface_has_lod(surf->surface)) {
				
				Vector3 lod_support_min = inst->transformed_aabb.get_support(p_render_data->scene_data->cam_transform.basis.get_column(Vector3::AXIS_Z));
				Vector3 lod_support_max = inst->transformed_aabb.get_support(-p_render_data->scene_data->cam_transform.basis.get_column(Vector3::AXIS_Z));
				
				float distance_min = (float)p_render_data->scene_data->cam_transform.origin.distance_to(lod_support_min);
				float distance_max = (float)p_render_data->scene_data->cam_transform.origin.distance_to(lod_support_max);
				float distance = 0.0;
				if (distance_min * distance_max < 0.0) {
					
					distance = 0.0;
				} else if (distance_min >= 0.0) {
					distance = distance_min;
				} else if (distance_max <= 0.0) {
					distance = -distance_max;
				}
				if (p_render_data->scene_data->cam_orthogonal) {
					distance = 1.0;
				}
				uint32_t indices = 0;
				surf->lod_index = mesh_storage->mesh_surface_get_lod(surf->surface, inst->lod_model_scale * inst->lod_bias, distance * p_render_data->scene_data->lod_distance_multiplier, p_render_data->scene_data->screen_mesh_lod_threshold, indices);
				if (p_render_data->render_info) {
					indices = _indices_to_primitives(surf->primitive, indices);
					if (p_render_list == RENDER_LIST_OPAQUE) { 
						p_render_data->render_info->info[RS::VIEWPORT_RENDER_INFO_TYPE_VISIBLE][RS::VIEWPORT_RENDER_INFO_PRIMITIVES_IN_FRAME] += indices;