my guess is that browsers cache text content until a tag is filled or until some kind of threshold is reached so that they don't have to do a lot of reformatting while downloading content (mozilla seems especially fond of doing this, by the way).
Since pre tags have predictable formatting you'll see the content "right away". Adding some other tags around each line, like <br> or <p> will probably work too.