Решил проблему с записью. Кажется, проблема хранилась в этой записи: audio_in->start(&output_buffer); - возможно "криво" записывает в буффер.
Работал с примером https://doc.qt.io/qt-5/qtcharts-audio-example.html.
В метод writeData класса XYSeriesIODevice добавил переменную QByteArray m_buffer. Заполняю её данными через цикл m_buffer.append(data). В файл записываю методом file.write(m_buffer)
Добавил кнопку для сохранения в файл. Конечно с костылями работаю, но зато работает.
В итоге получается хорошая программа с красивой визуализацией и записью в файл.