потому что так работает вызов цыпочки then:
он происходит до конца
и не важно, возвращаете вы промис (или что угодно другое) или нет
Promise.resolve('Hello world').then(console.log).then(console.log);
такая конструкция выведет сначала "hello world", а потом "undefined", потому что во 2ой then мы ничего не передали