Make Mist pass skip semitransparent objects
Create a new render layer in which the material is overriden by some material that has no transparency, and enable mist for that render layer. Then use the mist pass from that layer to combine over the other layers.



(click on the image to enlarge)