Начальное значение defaultValue равно null (из соображений безопасности), независимо от значения атрибута VALUE.
Установка defaultValue программно переопределяет начальное значение. Если Вы программно устанавливаете defaultValue для Password-объекта и затем вычисляете его, JavaScript возвращает текущее значение.
Вы можете установить свойство defaultValue в любое время. Вид соответствующего объекта не обновляется при установке Вами свойства defaultValue, это делается только при установке свойства value.