I was trying to format numbers using ~r to align them in a table, and noticed an unexpected, for me at least, result for negative numbers: the minus sign is put in front of the padding:
The padding is placed between the sign and the normal digits of x.
And the default padding is a space, so this behavior, while not what I'd expect to see, is what's documented. Another oddity is that #:min-width doesn't count the sign as part of the length; your strings are 11 characters long, not 10.
I ported SLIB's implementation of the Common Lisp format to Racket as the slib-format package and use that for most text formatting, as it has a ton of options beyond the formatting functions that come with Racket and tends to Just Work: