./discourse-setup pone el nombre de usuario SMTP al principio de la contraseña SMTP

Sí. Ese es el problema. Hay múltiples niveles de escape que deben ocurrir, como cuando bash lee el valor, cuando bash entrega el valor a sed, cuando sed lo reemplaza y luego, tal vez, cuando el archivo yml lo recibe. Es un problema conocido:

He vuelto a categorizar esto como #soporte.