I agree absolutely, but apart from that, it is one of these sentences that Duo dream up that are 'odd' to the ear. If the sentence included '... had to stop the waiter.' I would have still been curious to know why, but, at least I would have understood it had a purpose.
"Halt" is a synonym of "stop" but it really doesn't sound good in such a casual and everyday sentence like this. Most situations can use "stop" perfectly fine. "Halt" is more of an order. Like, a police officer or a soldier might shout "halt!" as an initial command and then progress to something like "I said stop!", for example. It sounds very formal/old and it really doesn't fit in most situations. "Stop" is usually the best bet.