Puedes indicarle qué "plan" debe usar, mira
esto.
También puedes cambiar el orden de las condiciones y demás para probar.
Aparte de eso supongo que (a simple vista) por cada registro debe hacer el "select distinct en recibos" por lo que eso lo ralentiza.
Habría que hacer diversas pruebas, por ejemplo, cambia el "not int" por "not exists".