The Quality Inn in Florissant (very near STL) has smoking rooms:
https://www.choicehotels.com/missour...n-hotels/mo354
I'm generally skeptical of Quality Inns, but a) this one has a really good rating on TripAdvisor, and b) I stayed in it a few years ago when it was a Hampton Inn (and it was just fine).