### Godot version

4.0beta16

### System information

Windows 10, Vulkan API 1.3.205, NVIDIA - NVIDIA GeForce RTX 3080, Valve Index, Steam VR

### Issue description

When XR is enabled FogVolumes (and probably all volumetric fog but it is not obvious for large homogenous volumes) are rendered to the wrong location in both eyes once XR is enabled on the viewport. Here's a unit-cube dense fog volume stacked between two mesh cubes.

Here it is correctly positioned in the editor:
<img width="687" alt="Screenshot 2023-01-29 122055" src="https://user-images.githubusercontent.com/617962/215351015-db22759f-2687-4791-bf1d-86266a630415.png">
But once XR is enabled on the viewport, the volume is shifted to the left in the left eye and to the right in the right eye:
![Screenshot_Sun_Jan_29_12-19-34_2023_VR](https://user-images.githubusercontent.com/617962/215351058-907ed3c9-ea98-412c-b792-4edfacff9f57.png)

It is also shifted to the left in the main game window (presumably because the game window is rendering the left eye).

The shift is in screenspace as you can see if I rotate my head:
![Screenshot_Sun_Jan_29_12-19-41_2023_VR](https://user-images.githubusercontent.com/617962/215351286-d9dd656a-bc90-4c00-8834-674d294e8a70.png)


### Steps to reproduce

Create a small fog volume and enable XR on the viewport.
I have also observed this on large fog volumes if using a fog shader which creates small clumps of fog, the clumps are shifted wrongly which breaks stereopsis .

### Minimal reproduction project

[FogVolume.zip](https://github.com/godotengine/godot/files/10530642/FogVolume.zip)

_render_list_template<PASS_MODE_SHADOW>(p_draw_list, p_framebuffer_Format, p_params, p_from_element, p_to_element);
		} break;
		case PASS_MODE_SHADOW_DP: {
			_render_list_template<PASS_MODE_SHADOW_DP>(p_draw_list, p_framebuffer_Format, p_params, p_from_element, p_to_element);
		} break;
		case PASS_MODE_DEPTH: {
			_render_list_template<PASS_MODE_DEPTH>(p_draw_list, p_framebuffer_Format, p_params, p_from_element, p_to_element);
		} break;
		case PASS_MODE_DEPTH_NORMAL_ROUGHNESS: {
			_render_list_template<PASS_MODE_DEPTH_NORMAL_ROUGHNESS>(p_draw_list, p_framebuffer_Format, p_params, p_from_element, p_to_element);
		} break;
		case PASS_MODE_DEPTH_NORMAL_ROUGHNESS_VOXEL_GI: {
			_render_list_template<PASS_MODE_DEPTH_NORMAL_ROUGHNESS_VOXEL_GI>(p_draw_list, p_framebuffer_Format, p_params, p_from_element, p_to_element);
		} break;
		case PASS_MODE_DEPTH_MATERIAL: {
			_render_list_template<PASS_MODE_DEPTH_MATERIAL>(p_draw_list, p_framebuffer_Format, p_params, p_from_element, p_to_element);
		} break;
		case PASS_MODE_SDF: {
			_render_list_template<PASS_MODE_SDF>(p_draw_list, p_framebuffer_Format, p_params, p_from_element, p_to_element);
		} break;
	}
}
void RenderForwardClustered::_render_list_thread_function(uint32_t p_thread, RenderListParameters *p_params) {
	uint32_t render_total = p_params->element_count;
	uint32_t total_threads = WorkerThreadPool::get_singleton()->get_thread_count();
	uint32_t render_from = p_thread * render_total / total_threads;
	uint32_t render_to = (p_thread + 1 == total_threads) ? render_total : ((p_thread + 1) * render_total / total_threads);
	_render_list(thread_draw_lists[p_thread], p_params->framebuffer_format, p_params, render_from, render_to);
}
void RenderForwardClustered::_render_list_with_threads(RenderListParameters *p_params, RID p_framebuffer, RD::InitialAction p_initial_color_action, RD::FinalAction p_final_color_action, RD::InitialAction p_initial_depth_action, RD::FinalAction p_final_depth_action, const Vector<Color> &p_clear_color_values, float p_clear_depth, uint32_t p_clear_stencil, const Rect2 &p_region, const Vector<RID> &p_storage_textures) {