%currentUser always shows the loggedin user, if anonymous is enabled and no signin has been done, it will return a anonymousUser.
There is one option to transfer data associated to the anonymous user to a logged in account, called the signin microflow option.
After changing the password the user is still anonymous, so either you need to let the user enter his credentials or fake a login by creating a session and setting the cookie.