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.
Yeah, Saint Louis is a weird case because it has a really tight boundary compared to most cities, so the crime numbers you see are all about the urban core and don't include data from the suburbs.
This NYT article has some numbers comparing "metro areas" rather than cities, and it knocks Saint Louis down a few slots (while still leaving it amongst the worst in the nation, for sure): https://www.nytimes.com/2019/12/17/upshot/crime-statistics-s...
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.