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

RID dest_framebuffer = rb_data->get_color_fbs(RenderBufferDataForwardMobile::FB_CONFIG_ONE_PASS);
					RID texture = RendererRD::TextureStorage::get_singleton()->render_target_get_rd_texture(rb->get_render_target());
					bool convert_to_linear = !RendererRD::TextureStorage::get_singleton()->render_target_is_using_hdr(rb->get_render_target());
					copy_effects->copy_to_fb_rect(texture, dest_framebuffer, Rect2i(), false, false, false, false, RID(), false, false, convert_to_linear);
				}
				keep_color = true;
			} break;
			case RS::ENV_BG_KEEP: {
				keep_color = true;
			} break;
			case RS::ENV_BG_CAMERA_FEED: {
			} break;
			default: {
			}
		}
		
		if (draw_sky || draw_sky_fog_only || environment_get_reflection_source(p_render_data->environment) == RS::ENV_REFLECTION_SOURCE_SKY || environment_get_ambient_source(p_render_data->environment) == RS::ENV_AMBIENT_SOURCE_SKY) {
			RENDER_TIMESTAMP("Setup Sky");
			RD::get_singleton()->draw_command_begin_label("Setup Sky");
			
			if (is_reflection_probe) {
				Vector3 eye_offset;
				Projection correction;
				correction.set_depth_correction(true);
				Projection projection = correction * p_render_data->scene_data->cam_projection;
				sky.setup_sky(p_render_data->environment, p_render_data->render_buffers, *p_render_data->lights, p_render_data->camera_attributes, 1, &projection, &eye_offset, p_render_data->scene_data->cam_transform, projection, screen_size, this);
			} else {
				sky.setup_sky(p_render_data->environment, p_render_data->render_buffers, *p_render_data->lights, p_render_data->camera_attributes, p_render_data->scene_data->view_count, p_render_data->scene_data->view_projection, p_render_data->scene_data->view_eye_offset, p_render_data->scene_data->cam_transform, p_render_data->scene_data->cam_projection, screen_size, this);
			}
			sky_energy_multiplier *= bg_energy_multiplier;