This works fine for me with 29Jun2018 LAMMPS with the input script you gave me. PPPM is definitely converging to the high accuracy Ewald value and is close to the analytical virial. Is it possible you accidentally modified the PPPM source code?
ewald (1e-12) virial: 2171039127
pppm (1e-4) virial: 2170828567
pppm (1e-6) virial: 2171036043
pppm (1e-10) virial: 2171039571