It's hard to replicate that issue, and I can’t share the file because of NDA...but I figured it's because the particles cross more than one voxel size per substep. I hard-limited the velocity change, and it fixed the problem without changing the look at all.