Fitting mixture of binomials

Why is my model DGP2 and not DGP3?

DGP2 is DGP3 but with no mixing term of 0.5 in sample_type==1

Maybe the best formulation of my question is: Could you please help me code the right model for DGP3, if the issue is that I am not coding it right.

Snippet:

n = pm.ConstantData("n",value=scores["N"],dims="observation")
mix_frac = pm.ConstantData("mix_frac",value=scores["fraction"],dims="observation")

        p_type0 = pm.Uniform("p_type0")
        p_type1 = pm.Uniform("p_type1")
        observed = scores["observed_counts"]
        dims = "observation"

        component_t0 = pm.Binomial.dist(
                       n = n,
                       p = p_type0, 
                    )
        
        component_t1 = pm.Binomial.dist(
                       n = n,
                       p = p_type1, 
                    )
        
        observed_counts = pm.Mixture(
            "counts",
            w = pt.stack([1-mix_frac,mix_frac],axis=1),
            comp_dists = [
                component_t0,
                component_t1
            ],
            observed = observed,
        )

        idata = pm.sample()