It seems you almost answered your first question, since it is not a paragraph semantically, so using <p> is wrong for me.
The second question about whether to use a <div> depends on your use, but I don’t understand why not, except for the increasingly cumbersome code, although this probably will not add a lot of weight to the page.
My own tendency is for the <input /> socket in the <label> , although this, again, is semantic incorrect, since the input is not part of the label, being only its analogue.
Of course, both methods work and produce a lot of the same visual effect; I have never used an alternative converter-converter or one-to-one GUI browser, so I can’t say if it adds weirdness to disconnected users.
source share