Just look at the implied boundaries.  We require p_sub > 0, and have
p_sub = p_group_mu + p_group_sd * p_sub_raw;
so that implies
p_group_mu + p_group_sd * p_sub_raw > 0
or
p_sub_raw > -p_group_mu / p_group_sd
So the answer is that if you have <lower = -p_group_mu / p_group_sd>, then it will guarantee that p_sub > 0.
But you may want to model this another way.