I'm a South Korean national living in the Silicon Valley area. I've participated in South Korean election several times, including one (or two?) congressional election. Luckily for me, they open a voting booth in San Jose so that every Korean citizen in the area can come and vote.
When I arrive, they ask for my ID (i.e., passport), look up my registered address, and the computer automatically prints out the correct set of ballots, and an envelope with the correct return address. I take them to the voting booth, stamp on the candidates I like, put the ballots into the envelope, seal the envelope, and put it in a box, and later all the envelopes in the box will be sorted and sent to the correct district so that they can be counted at the actual election day.
It's 2018, folks. This isn't magic.