ESTÁ BIEN. FINALMENTE lo entendí. Mi contraseña súper estúpida estaba interfiriendo con mysqldump porque tenía un "&". No tuve que cambiar la contraseña. Acabo de incluir la contraseña entre paréntesis:--password="'.$db_pass.'"
Ahora funciona como se esperaba. Tantas horas perdidas... @MarcB, muchas gracias por tu ayuda. No sabía cómo devolver los errores y ese fue definitivamente el mayor obstáculo.