How to use the posterior predictive distribution for checking a model from PyMC

you need to use predictions=False. For convenience ArviZ distinguishes between predictions made on the same data that was used to fit the model (useful for model checking, it gets stored in posterior_predictive) and out of sample predictions (actual predictions, they get stored in the predictions group).

Side note, I now see you are not saving the results of prior predictive sampling anywhere. Potentially useful references: PyMC 4.0 with labeled coords and dims — Oriol unraveled, Prior and Posterior Predictive Checks — PyMC 5.1.2 documentation