Dynamic resolution dynamically changes the the size of the viewport in render targets. The thing is when the resolution changes: it is reprojecting previous frame that is stored in history render target, but assuming the viewport is the same from current frame to last frame witch is wrong. This cause the computation of the render target UVs to sample when reprojecting the history to be miss aligned against the viewport of the previous frame.
The fix is to implement ComputeCellWorldPosition() with the previous frame informations instead of VolumetricFog that is current frame informations for USE_TEMPORAL_REPROJECTION scopes in LightScatteringCS().
Should repro in QAGame's volumetric fog testing map with dynamic resolution ON.
There's no existing public thread on this issue, so head over toAnswerHub just mention UE-68016 in the post.