### Godot version

v4.0.2.stable.custom_build [285ca4637]

### System information

Windows 10, Forward+

### Issue description

Spent a few days working on macOS and in that time, re-did my skybox to use canvas layers, all was well. Returned to my windows machine to find ghost artifacts everywhere. 

Isolated it to the SSR setting on the global world environment. Seems some combination of Canvas BG and SSR is the culprit.

Tested on a double precision custom build as well as 4.0 - 4.02 official builds. 

![anim](https://user-images.githubusercontent.com/175568/231931089-01f858cd-1e95-427f-8b6c-a253ea4fa9f9.gif)


### Steps to reproduce

Create a background CanvasLayer
Set world environment background to Canvas, ensure layer it set to include previous step
Add something to the scene (MeshInstance3D)
Add Camera
Move the camera

### Minimal reproduction project

[canvas-ghost.zip](https://github.com/godotengine/godot/files/11228426/canvas-ghost.zip)

u.binding = 12;
		u.append_id(p_emission_aniso_texture);
		uniforms.push_back(u);
	}
	{
		RD::Uniform u;
		u.uniform_type = RD::UNIFORM_TYPE_IMAGE;
		u.binding = 13;
		u.append_id(p_geom_facing_texture);
		uniforms.push_back(u);
	}
	return UniformSetCacheRD::get_singleton()->get_cache_vec(scene_shader.default_shader_sdfgi_rd, RENDER_PASS_UNIFORM_SET, uniforms);
}
RID RenderForwardClustered::_render_buffers_get_normal_texture(Ref<RenderSceneBuffersRD> p_render_buffers) {
	Ref<RenderBufferDataForwardClustered> rb_data = p_render_buffers->get_custom_data(RB_SCOPE_FORWARD_CLUSTERED);
	return p_render_buffers->get_msaa_3d() == RS::VIEWPORT_MSAA_DISABLED ? rb_data->get_normal_roughness() : rb_data->get_normal_roughness_msaa();
}
RID RenderForwardClustered::_render_buffers_get_velocity_texture(Ref<RenderSceneBuffersRD> p_render_buffers) {
	return p_render_buffers->get_velocity_buffer(p_render_buffers->get_msaa_3d() != RS::VIEWPORT_MSAA_DISABLED);
}
void RenderForwardClustered::environment_set_ssao_quality(RS::EnvironmentSSAOQuality p_quality, bool p_half_size, float p_adaptive_target, int p_blur_passes, float p_fadeout_from, float p_fadeout_to) {
	ss_effects->ssao_set_quality(p_quality, p_half_size, p_adaptive_target, p_blur_passes, p_fadeout_from, p_fadeout_to);
}
void RenderForwardClustered::environment_set_ssil_quality(RS::EnvironmentSSILQuality p_quality, bool p_half_size, float p_adaptive_target, int p_blur_passes, float p_fadeout_from, float p_fadeout_to) {
	ss_effects->ssil_set_quality(p_quality, p_half_size, p_adaptive_target, p_blur_passes, p_fadeout_from, p_fadeout_to);
}
void RenderForwardClustered::environment_set_ssr_roughness_quality(RS::EnvironmentSSRRoughnessQuality p_quality) {
	ss_effects->ssr_set_roughness_quality(p_quality);
}
void RenderForwardClustered::sub_surface_scattering_set_quality(RS::SubSurfaceScatteringQuality p_quality) {