I’ve narrowed down the problem here. I think there’s something different between the stan model and the brms model, even without my adjustments. For instance:
p <- c(set_prior('normal(2,2)', class='Intercept', coef=''),
set_prior('normal(0,1)', class='b'))
m.brm <- brm(gpa ~ Condition*Ethnicity + (1|ID) +
(Condition*Ethnicity|site), data=testing_data, prior=p)
m.rstanarm <- stan_glmer(gpa ~ Condition*Ethnicity + (1|ID) +
(Condition*Ethnicity|site),
prior_intercept=normal(2,2), prior=normal(0,1),
data=testing_data)
These models look identical to me, but result in wildly different precision of the non-varying estimates:

I started looking at some of the individual parameters to see if there were any that were totally different between the two models. It looks like the covariance parameters governing the site-level variability is a prime suspect:

What am I doing incorrectly here? My guess would be the LKJ prior, but both packages say that zeta is set to 1 by default, and some mild adjustments to the brms model have not changed the patterns here.
