Unfortunately it's very hard to get the smoke completely off (your clothes, hair etc.) and it's easy to tell when a smoker stays in a room (even if he/she doesn't smoke in the room). The residual smoke can be hard/impossible to get rid of in the span of hours.
The reason the host didn't contact you, is because it may make the situation worse as some guests may lash out/demand refund/create trouble etc. so I see where they are coming from.
That said, I'm not sure if I would leave a negative review in that case? I'm the type to not leave a review in this case, but unfortunately your host left you a review to warn other hosts, which is also fair.
In my opinion, the better thing to do would be to stay in a hotel room where smoking is permitted, as they often have a better protocol to deal with it. Airbnb listings where it states smoking not permitted usually don't have a good way to quickly deal with residual smoke.