Obrigado pela mensagem no Dex!
Se não for muito tarde aqui em 2013, o índice que recomendo para evitar scanAndOrder aqui é { _id:-1, cl:1, user_id:1 }.
A razão é porque um $lt em _id e um $in em user_id constituem intervalos em vários "buckets" de índice. Um índice de qualquer outra ordem que não a acima significa que esses buckets ainda devem ser classificados juntos para satisfazer uma classificação em _id. Ao colocar _id primeiro, todos os documentos visitados no índice serão ordenados corretamente com antecedência.
Observe que esta é uma pequena melhoria em relação à sugestão de Andre ({ _id:-1, user_id:1, cl:1 }, que também deve evitar scanAndOrder) porque permite a verificação de equivalência direta em cl para remover resultados.
Confira http://blog.mongolab.com/2012/06/cardinal- ins/ para mais detalhes.