I'd prefer to re-use comint code rather than copy it. Copying might be
tolerable for term-watch-for-password-prompt (it could conceivably
require adjustments for the context of term-mode), but it's out of the
question for term-password-prompt-regexp.
My patch just tried to mimic what is done in `comint.el' and reproduce
it in `term.el'. My hope was that the patch would be accepted frictionless:
if it's already done in `comint.el', why not doing the same in `term.el'?
I'm not a great fan of the hooks in comint (tho I must say I haven't
come up with anything really better either).
And to the extent that you can set *-password-prompt-regexp
buffer-locally in order to prevent *-watch-for-password-prompt from
getting in the way, I don't see much benefit of going through a hook.
[ The hook might be beneficial in itself, with a nil default value, but
that's a different discussion. ]