This is something that our Bayesian stats people here have looked at over the years. We did some investigation many years back, but didn't find an approach that we felt was satisfactory.
When you do face a situation with HB in which a group has been oversampled by a relatively large factor, then it's a good idea to run HB with covariates, then reweight the results post hoc. (That way the oversampled group doesn't bias the undersampled people via the upper-level model.)
For example, imagine you oversample cat-lovers by a large factor, so they are no longer 25%, but 60% of the population. You should create a 2-category covariate variable (1=cat lovers, 2=other) and run HB estimation with this covariate specified. Then, after obtaining the results (posterior utilities), you should weight the sample as you are intending to do so, such that the cat lovers again make up 25% of the weight of the population.
(BTW, I don't know the actual % of cat lovers in the USA. My daughter is certainly one of them.)