Really it's the same way in English. A jacket might imply something lighter weight like a windbreaker or even suit jacket (which for men is also sometimes called a "sports coat" which really goes to show how interchangeable they are!) but yeah, I'm assuming it's similar in Hebrew where you're going out and ask if you need a מעיל or ז׳קט and regardless of which you call it, it's understood and you may even call the same coat both, right?
It can vary between different speakers. There are items that everybody would call מעיל. Some people don't use the word ז'קט at all and call everything מעיל. And people who do, can put the line in different places. It's also about function maybe, if it's clearly a fashion statement it's more ז'קט, if it's warm the chances of being called מעיל increase. And as I write this it occurs to me that this may be the reason why the word ז'קט is less frequent, the weather is not often compatible with wearing jackets as fashion statements. :-)
I think you gave a better description than I did even of how the words are used in English too, although more interchangeable. Jackets are definitely fashion statements a lot, and in the Northern US where we have lots of snow and winter I'm more personally inclined to call a heavier coat I'd wear in winter a coat and have other fashion type pieces I would call jackets, and a jacket is also what I'd wear in the fall or early spring but there's also the joke here that once it's 40-50 degrees Fahrenheit we wear shorts here so, very different climate (though so far summer has been very hot! I imagine I'd probably suffer in a place like Eilat where it's so hot almost all the time!)