Per capita rates are often hard to compare (I'm not agreeing or disagreeing with any conclusions). I find the rates often have more with how boundaries are drawn and are especially inaccurate for smaller populations as a reflection of overall safety. There's probably an element of that in the St. Louis numbers.
I once saw a crime map of the boroughs in a city where I lived. It showed the downtown as way higher than others per-capita, but it's because few live there as it's mostly commercial, more than higher absolute numbers. Lots of effects like this skew the numbers.