Причината да не работи беше, че използвах метод със стрелка. Трябваше да го направя нормална функция:
userSchema.methods.setPassword = function (password) {
Причината е, че функциите със стрелки третират this различни от обикновените функции. Моля, вижте следното за повече подробности:
https://exploringjs.com/es6/ch_arrow-functions.html