Haven't rtft but read OPs posts.
OP, DS struggles with transitions and like every 2 year old he has a fixed mindset. He wants to do what he wants to do.
As soon as you lay the law down you enter a battle of wills, and with a 2 year old that means confrontation and probably screaming and tantrumming.
My top tips:
Give a 5 minute, 2 minute, 30 second warning and then count down from 3. I never actually had to say what would happen if I got to zero, it's kind of magical (though we did have to do halves and quarters occasionally).
Make it a race. Last one to get to XXX is a pair of pants (of course, you always lose) or a stinky bum or whatever. Or first one to xxx is the best. Or "I'm going to get there first, you will be second!" - never met a toddler who didn't jump at that.
Distraction. Oh my goodness, what is that, Teddy? I thought I saw something shiny. Let's go and look!
Do funny footsteps. I am taking giant steps to the cafe, I bet I can do it in ten steps. How many giant steps can you do it in? Or skips. Or fairy footsteps.
Give them a spotter list (drawn or orally). On the way to the cafe, let's see if we can find a flower and a shiny conker. If we find one, you can choose your own drink. (You can do similar at the supermarket, a drawn shopping list, just apples, bread, cheese, and milk will keep them busy, especially if they get to tick it off).
Use snacks. "When you get down you can have a button/ sandwich/ drink"
Use yes...later. "Yes we can come down this hill, if the rain stops. Let's go and wait in the cafe. I will get there first, you can be second."
Grant them their wish, in imagination. "You really wanted to go down that hill, didn't you. I wonder what was at the bottom. Maybe it was a magic fairy kingdom with a toadstool house. What do you think it was?". This distracts them into thinking about the possibilities, while you walk them the other way.
Good luck. Just remember, a two year old cares less about screaming in public than you, so tricking them by guile is better than butting heads!