stream: Don't drop data written to a `BufferStream` during a large read
For reads above `SZ_UNBUFFERED_IO`, `readbytes!` swapped in a temporary buffer
limited to the requested size. A concurrent write of more than that size was
cut short, returned a short count, and the remaining bytes were lost. Wait on
the stream's own buffer instead, then copy out of it.
Assisted-by: Claude Code (Opus 5.5)