I experienced the same thing ... I think it has to do with the update statement to get your hash populated in the users table.
I found the problem with the data type. If in the expression
UserPassword + CAST(Salt AS VARCHAR(36))
UserPassword column is nvarchar, the result will be nvarchar and another hash.
I fixed my problem by highlighting an expression to combine password and salt in varchar.
A good test is to see if this is really the same problem by running this ...
SELECT HASHBYTES('SHA1', UserPassword + CAST(Salt AS VARCHAR(36))), HASHBYTES('SHA1', CAST( UserPassword + CAST(Salt AS VARCHAR(36))as varchar)) FROM Users
source share