I think that writing the value "infinity" in places where there is no value is not a good thing. This hides the real value of the column. In addition, there is no reason to set "infinity" when the password is always valid with default NULL.
Would it make sense to make the column non-nullable and always set it to infinity when there is no expiry?
In this case, I think NULL simply means infinity, so why not write that? If the timestamp type didn't have infinity, then NULL would be a natural way of saying that there is no expiry, but with infinity as a possible value, I don't see any reason to think of no expiry as being the absence of an expiry time rather than an infinite expiry time.