I cannot speak for the other three closers’ reasons for closing it as a duplicate, but my own reason was a simple one: because it is a duplicate.
Specifically, the original question asks what the question tag is for:
- They had to go home, ______?
While the duplicate question asks what the question tag is for:
- He has to do it, ______?
These are the same question.
Both askers are perplexed as to why the to have to construction takes an irregular tag question, respectively didn’t they and doesn’t he for this pair:
- They had to go home, didn’t they?
- He has to do it, doesn’t he?
Those are irregular because attempting to apply any simplistic and uninformed for regularly deriving tag questions would produce ungrammatical tags:
- They had to go home, *hadn’t they? <----- ɴᴏᴛ ɢʀᴀᴍᴍᴀᴛɪᴄᴀʟ!
- He has to do it, *hasn’t he? <----- ɴᴏᴛ ɢʀᴀᴍᴍᴀᴛɪᴄᴀʟ!
Now, why does to have to to an irregular tag question? Per the accepted answer from John Lawler:
Have to is an idiom, a paraphrase of the [modal auxiliary verb] must; it's always pronounced /'hæftə/ (/'hæstə/ in 3SgPres -- always /f/ instead of /v/ and /s/ instead of /z/), and it can't be split up.
That's why it doesn't form a normal tag question; the tag requires a contracted negative, and that's ungrammatical. Instead, as Rory, Kris, and Noah all suggest, using do/does/did of Do-Support is the correct solution.
This is the correct answer, and it applies to both questions. The two questions are duplicates.
Now please go re-close again for the duplicate that it is.