Най-накрая намерих решението на това. Мидълуерът не се задейства, защото трябва да използвате remove() , save() и т.н. върху екземплярите на модела, а не самия модел.
Пример:
Customer.remove({...}); няма да работи.
Customer.findOne({...}, function(err, customer) {
customer.remove();
});
ще работи и ще направи всичко, което е в Customer.post('remove') .