I'm not going to comment too much because I Am Not A Trainer but one thing that helped me get a good stop with Kieran (not that he really needs one, hah, but it did help to make it a good stop and not just a fall all over himself stop) was I got in the habit of letting out an exhale and kind of tightening my seat when I asked him to stop. It became a part of the cue so now I don't really have to use much rein at all, just sit deep and deliberately exhale and he'll slow down or stop for me.

If you're going to teach him, you're going to have to connect the action you want (stopping) with a seat cue so you don't have to use the reins, so he understands what you want. It's like he's learning words in a new language, he won't know what they mean right away until you give him the meaning to go along with it. So as you're walking along, ask him to halt, tighten your seat at the same time, say whoa, whatever...when he halts, tell him he's a good boy, pat him, let him walk on again...repeat it a few times. Doesn't have to be a Big Deal but I bet after you've done it over a few rides, he'll figure it out.

That's my suggestion, anyway, take it with a grain of salt.