In case anyone reads this, we finally resolved this issue on our latest 2.9.1 upgrade by restoring the password field properties to how they look in a standard Moodle mdl_user table:
Type: varchar(255)
Null : No
Defaut value: <empty>
Most likely, the last two settings were to blame - for some reasons ours had been Null = Yes and Default value = Null.