Do you run your AC all the time?
Something useful I learned on this forum (that I didn't believe until I tried it) was that running the AC all the time, especially in winter can cause this behaviour.
I was struggling on my LEAF and my i3 with steaming up when using pre-heating (which wouldn't turn on the AC) but don't have this problem any more.
I believe it is to do with the inside part of the AC system getting wet from running all the time. You need to run the heating with the AC off for a while, ideally with a high heat as well to dry out the inside part, so you will have to sacrifice efficiency for a bit!
It may not be fixed overnight by one hot run but it will probably improve it.
I now only run AC during winter when really needed in terms of misting up happening inside (which is rare since I stopped running it all the time) and I also periodically run it for 2-5 minutes (say, once a week) to move the refrigerant around. I'm not sure I need to do this on the i3 as it seems to do it itself, possibly to climate control the battery.
Good luck with fixing the problem and also with challenging preconceptions (as I had to do!)
Edit: also, if I have been using the AC on a journey in winter (usually due to being loaded with passengers for example) at the end of the journey I try to remember to turn off the AC at least a few mins before getting home, then turn the fan up a bit to assist with the above.