findOne
retorna uma promessa
, você precisa esperar que ele resolva para ler os valores. mude sua função para isso:
module.exports = async function (req, res, next) {
const headToken = req.header('token');
const token = await Token.findOne({ token: headToken })
...
}