No, people just don't know how to count time between ages. Just because Shannon is 18 in the flashback and 20 on the island, doesn't mean only two years have passed. It could be around three years depending on when her birthday is. If she had just turned 18 in the flashback, and is nearing 21 on the island, it would be almost 3 years and fit into the timeline perfectly.