Ако приемем, че вашите дискриминатори функционират (_t се съхранява правилно за всеки документ), тогава мисля, че това е, което търсите.
var results = collection.AsQueryable<Animal>().OfType<Cat>
Връща само онези документи, които са от тип 'Cat'.