How to do model comparison with a dummy variable

You would just replace your indicator parameter m with the mixing parameter \mu so that \mu =p(m) [edit: or, to be a bit more precise, \mu =p(m=1)].

edit:
In the case of 3 sub-models, you would need a Dirichlet-distributed parameter something like this:

# model definitions
# replace with something useful
model_components = [
        # model 1
        pm.Poisson.dist(mu=mu1),
        # model 2
        pm.StudentT.dist(mu=mu2),
        # model 3
        pm.Normal.dist(mu=mu3),
    ]

# mixture weights
w = pm.Dirchlet("w", a=np.ones(num_models))

# likelihood
like = pm.Mixture(
        "like",
        w=w,
        comp_dists=model_components,
        observed=data,
    )