Thanks for the explanation Caduckic, I think you explained it quite well. My UI was very similar to yours but rather than a text box I kept adding Label elements in a vertical container (VBoxContainer in Godot I think). The text was just an array where each element was a new line of text. In code it looked like this:
It's funny but I think the only thing we did differently was how we handled displaying the text haha. It's reassuring to know that someone else has the same ideas and not everything feels like a hack.