HTML не предоставляет авторам каких-либо способов поддержки механизма управления паролями. Браузер в основном должен угадать, какие поля содержат имя пользователя и пароль. Последнее немного проще из-за типа ввода «пароль», но не из-за самого решения, потому что этот тип ввода не имеет семантического значения, он просто говорит, как пользовательские агенты должны отображать эти поля.
Насколько я могу вам сказать, браузеры просто ищут первое поле пароля и затем предполагают, что в поле перед ним стоит имя пользователя. Итак, в вашем случае вам нужно убедиться, что поле пароля строго следует за именем пользователя.
Другое решение, которое, я не уверен, поможет браузерам сделать правильный выбор, - отключить автозаполнение во всех полях, кроме имени пользователя и пароля, установив для атрибута автозаполнения значение off.