If you just keep everything in the same order, then you never have to worry about any re-ordering.
I can see why people picked streams as the one-size-fits-all-(but-badly) abstraction.
There’s a bit of reinvention needed, sure, but adding a framing layer is about the easiest task in networking. If you want a standard way of doing it, these days you can use a WebSocket.
Edit to add: oh, I see, you want reliable but unordered messages. That would definitely be useful sometimes, but other times you do want ordering. If you don’t need ordering, isn’t that pretty much what QUIC does?
EDIT: Internet being broken is also why there's a grease extension for QUIC
This generalization isn’t true at all. Streaming data over TCP is extremely common in many applications.
When you download a large file, you’re streaming it to disk, for example.
I guess you could get pedantic and argue that an entire stream of something is actually one large message, but that’s really straining the definitions.
Nowadays perhaps video streaming, which may be lossy, so TCP is not needed for it (i.e. what is now called streaming does not have the reliability requirements of the TCP streams), might transfer more data on the Internet than file downloads, but that is not a desirable technical evolution, the replacement of downloading with streaming is just a means to extract more money from those who are satisfied by such a service.