This is not going to be popular, but a very memorable and immediate punishment. DS did this once. I pulled over, got out the car and gave him a massive shouty bollocking. He was so surprised and shocked he cried and cried and cried. It broke my heart at the time but not as much as losing him in a car crash. he's not done it since, except after asking permission once I've turned the ignition off.
My ds undid his seatbelt once, he was probably about 2-2 1/2. I may have scared him witless that if we crashed he would go through the windscreen. And that it was the law to wear a seatbelt and a policeman would take him away if they ever saw him without one on.
It may not be the correct way to go about it but it worked. He's never done it since. Scaring them shitless isn't nice or fun but IMO in the interests of safety it is warranted in this situation.
I don't know of anything you can buy to stop him opening it but this is scary. I was on motorway when DD popped her head through into the front of the car between the two headrests and said 'hi' I got such a shock as she had never done it before and she was so quiet I didn't even hear her getting out. Luckily DH was in the passenger seat and quickly clipped her back in. I have to admit I did tell her off and it seemed to work as she hasn't done it again since. I'm not really a shouty mum bit in that circumstance I wanted to get it across that what she had done was very dangerous.
... Just that really. Ds is 2 now and while you always used to tsake his arms out of the car seat, he's now worked out how to undo the actual buckle. Is there something I can buy to put over it to stop him. He did it on a motorway the other day, it was so dangerous. Thanks