Se vuoi solo un elenco (distinto) dei tag, l'uso di distinti sarà il migliore. Map/Reduce sarà più lento e non potrà utilizzare un indice per la parte javascript.
https://docs.mongodb.org/manual/reference/ metodo/db.collection.distinct/
db.coll.distinct("tags", {type:1}) Restituirà un set di tag per type=1.