Thanks for the advice.
I may not have been clear, but the two dimensions of y are not independent - they’re coupled through the cluster assignment. That is, y[0, i] and y[1,i] are assumed to have the same cluster assignment, and are thus only conditionally independent given the cluster assignment: if y[0,i] is sampled from Normal(theta1) then y[1,i] is sampled from Poisson(rate1) not Poisson(rate2).