Lo siento pero no me da confianza
No soy experta pero para mi, el primer console que hace del buffer no devuelve nada no porque no haya finalizado el buffer sino porque está por fuera del callback y al ser asíncrono, no tiene el valor. Si se coloca el console del buffer en el evento de data, igual imprime el contenido del buffer.
