Похоже, что Firefox действительно делает правильную вещь в соответствии с W3C:
Если атрибут for не указан, но элемент метки имеет наследуемый элемент потомка, затем первый такой потомок в дереве порядок - это элемент с меткой, помеченный значком.
Ваша метка обертывает два входных элемента, поэтому, когда вы нажимаете в текстовом поле, радио (первый такой потомок в древовидном порядке) получает фокус.
Результаты будут зависеть от того, как браузер реализует это правило, поэтому для обеспечения результатов кросс-браузера да, вам потребуется JavaScript для входа.
Допустимый контент: Фразинг контента, но не элементы метки потомков. Не допускается маркировка элементов, кроме отмеченного элемента управления.
В принципе, размещение двух входов внутри метки не является допустимой разметкой. Измените свою разметку html так, чтобы метка только обертывала радиовход (и любую текстовую метку)...