A couple thoughts.
You commented: “I suspect the problem might be related to non-native speakers’ data being noisier.” You might capture that by fitting a distributional version of the model where you attach a linear model to the dispersion parameter phi. In your case, that would look something like this:
model_2 <- brm(
bf(TSR_score_squeezed ~ <your_predictors> + (1 | ID),
phi ~ <your_predictors> + (1 | ID)),
family = Beta(),
...
)
You can learn more about distributional models in this vignette.
Based on your histogram, your raw data has exact zeros and ones. You don’t have to transform those values away if you fit a zero-one-inflated-beta model instead with family = zero_one_inflated_beta. You can find an example of that here: Issue with group-level effects using 0-1-inflated beta family
You can learn more about both the zero-one-inflated beta and distributional modeling with Heiss’s great blog post: A guide to modeling proportions with Bayesian beta and zero-inflated beta regression models | Andrew Heiss – Andrew Heiss