When I started writing this reply, I figured it could have to do with the simple fact that SCI, at least until the 32-bit versions and even then barely, had no concept of an 8-bit value and thus has to read a multiple of two bytes at a time.
But then I looked at your numbers and results again and now I'm thinking it's a null-terminator issue. You asked for five characters, so you got four + the null terminator. You asked for one character, so you got only the terminator, etc.
After all, you gotta know where to stop reading.