get-bytevector-n! and get-string-n! both have end instead of count as argument, which is also reflected in that they do the wrong thing.
The signatures in ports.rkt: (get-bytevector-n! p bytes start end), (get-string-n! p str start end)
The signatures in R6RS: (get-bytevector-n! binary-input-port bytevector start count), (get-string-n! textual-input-port string start count)
You may find a test case for get-bytevector-n! in okuoku/yuni#95