Numerical Issues with StickBreaking in ADVI

I do not quit get it. lambda x: softmax(StickBreacking().backward(x)) is an isomorphism \mathbb R^{n-1}\rightarrow\Delta^{n-1} and pm.Multinomial only takes p\in\Delta^{n-1}. So all latend variables should be defined by the observation. Additionally the uncorrected model does not show multimodality:

pm.pairplot(np.asarray(trace.get_values('decomp_stickbreaking__', combine=False)).squeeze());


I am sorry for my foolish stubbornness, but I really need to understand this.