It’s because of atlassed AND virtual texture normals in this part of the shader:
I managed to fix it by forcing a non-VT atlas, but it’s a suboptimal solution - such an atlas would have a pretty huge memory footprint if it was to be of decent quality.