No, it's completely understandable and shouldn't even be thought of as strange to seasoned programmers.
The critical issue is there's a difference between calling an I/O function like write, and actually manipulating the IDE control lines on a hard disk. Typically for the former, the operating system is sitting there buffering things up in a relatively simple, uncomplex, way - ie it has some memory allocated, a pointer, and when you call the function all it does is copy the bytes to the memory and increment the pointer as needed. Once either enough time has passed, a critical function has been called, or enough data has been written, the OS then starts manipulating the IDE control lines to write the data.
Now, the comparison becomes "the OS's buffer handling" vs "Your language of choice's string handling and garbage collection algorithms." For C, chances are you're as good as the OS as C's string handling is extremely uncomplicated and bare metal. For almost anything else - such as Python and Java, both tested in this scenario - you're likely to end up with the OS handling some situations more quickly than your language would.
Does it make sense now? It should. There are very few programmers this should surprise. Unfortunately, I know quote a few that will be...