The exercise asks to design a TM that recognizes a language (which happens to be context-free) and to guarantee that it will halt for any input.
Is it an acceptable answer to instead design a PDA that recognizes it (and is by definition guaranteed to halt) and say that it can be trivially converted into a stack-based TM?