It's completely legitimate to have an input tag outside of a label. Even the link you provided states:
The HTML <label> Element represents a caption for an item in a user interface. It can be associated with a control either by using the for attribute, or by placing the control element inside the label element.
The HTML <label> Element represents a caption for an item in a user interface. It can be associated with a control either by using the for attribute, or by placing the control element inside the label element.
As long as you use the for attribute, it's fine.