When a bot fills out a form, it fills in every field.
Not always. I've had plenty of forms where the bot, for whatever reason, stopped halfway through (and so missed the honeypot, which was nearly the last question).
So I put those honeypots near the tops of forms.
Also, display: none, when used on form elements, is one of those rare occasions where a screen reader will still render the elements. So always have a label explaining as if the user sees the label/input normally.