I noticed that the default ODE tuning parameters for pmx_solve_bdf are 1e-6, 1e-6, 1e+6; while the defaults for integrate_ode_bdf is 1e-10, 1e-10, 1e+8. Is the difference deliberate?

+1 for having the algebraic solver tuning parameters for the steady states.

if Stan only solves properly scaled data as in pharmacometricsâ€¦ then maybe yesâ€¦generally we should leave the defaults to err on the conservative side. Though, our current defaults really tight for most problems I think; still itâ€™s a safer bet for the general user base.

Are the tolerances set up so we need both absolute and relative tolernace in range? If so,
thatâ€™s is already going to behave badly if the scale is >> 1. If not, then the relative tolerance will take over when the value is > 1 and absolute will take over when < 1.

Are there problems where the higher tolerance works but lower tolerances donâ€™t?

Whatâ€™s the performance penalty on a problem that does work for tightening from (1e-6, 1e-6) to (1e-10, 1e-10)?

Thatâ€™s a huge penalty for problems I worked on. It makes a massive difference in speed.

I have seen that when tolerances are too loose then the sampler is not properly exploring the posterior or is behaving oddlyâ€¦so tolerances cannot be pushed up too much.

Yes. Note that this is different from pmx_integrate_ode_bdf, which is torstenâ€™s counterpart of integrate_ode_bdf. There the default values are the same. Actually to me even 1e6 is too much to ask as default mxstep. In NONMEM this is 1e5.