Posterior predictive distributions of parameter values differs a lot from posterior?

I think you’re misusing sample_posterior_predictive. This function doesn’t just generate draws from the posterior. Instead ,it generates draws from a target variable by replacing all other variables on which it depends with their posteriors. See this post for an explanation.

Also it looks like knot_exponent has a Gamma prior, not a Beta prior, so the reported range isn’t unexpected?