I have no great love for tobacco or cigarettes but 18 is old enough to decide what you put into your body. If you are old enough to go fight and die for oil in a war on behalf of rich old white men, then you are old enough to buy a packet of cigarettes imho.
Seriously, I get that the brain isn't fully developed until sometime into the 20's, but at a certain point you have to grant individuals autonomy over what they put into their own bodies. What if we found out brains didn't stop developing til 40, should we ban everyone from taking drugs til then if that was the case?
I don't think we should be calculating at what point drugs do the least damage, and telling people they have to wait til then to indulge. That seems like a slippery slope to me, similar to banning diabetics from consuming certain foods just because their body is less equipped to handle it than a non diabetics.
The primary issue with access to cigarettes and any other drug should be acknowledging a person is old enough to make their own decisions. Considering people can go to war and operate a motor vehicle at 18, that seems like a good age to allow people legal access to intoxicants. If you wanted to make an argument that people should be 21 to drink/smoke/take drugs, then imho you have to make pretty much the same argument for joining the military, getting married and driving a car.