I'd either use an ozone generator or fogging with smoke solv from chemspec.
Usually the pores in the leather allow the smoke to penetrate the cushioning which is were you need to get the odour treatment.
Whatever you do don't use chemicals directly on the leather without doing a test patch in an inconspicuous area first.
It may be a long process and still be no better. Smoke is an oily fine, charged particle and penetrates and adheres to everything.