Você precisa colocar o middleware de autenticação antes do middleware de autorização (roles) na sua rota. coloque um console.log(usuarioId) para verificar se está retornando o id! espero ter ajudado ;)
const { Router } = require('express')
const ProdutoController = require('../controllers/produtoController')
const roles = require('../middleware/roles')
const autenticar = require('../middleware/middleware') <-- importa o middleware de autenticação
const router = Router()
router
.post('/produto', ProdutoController.cadastrarProduto)
// AQUI: aplica autenticação antes de checar o role
.get('/produto', autenticar, roles(['Gerente']), ProdutoController.buscarTodosProdutos)
.get('/produto/id/:id', ProdutoController.buscarProdutoPorId)
.delete('/produto/id/:id', ProdutoController.deletarProdutoPorId)
.put('/produto/id/:id', ProdutoController.editarProduto)