Везде, кроме проблемного места, вы обращались к this в контексте метода объекта. В таком случае this привязан к объекту. В проблемном месте, обратите внимание, что воспользовались функцией. При определении this важна форма выражения вызова функции. У вас функция анонимна и будет использовать всегда this равный глобальному объекту, а в strict mode равным undefined.
Для решения проблемы можете воспользоваться замыканием, либо использовать стрелочную функцию (у стрелочной функции this лексически определен и наследуется из родительского окружения).