Si alguien más tiene problemas en v5 de Sequelize , no es suficiente especificar una clave principal en el modelo 'a través'.
Tiene que establecer explícitamente la propiedad única en el modelo a través.
User.belongsToMany(Product, { through: { model: UserProducts, unique: false } });
Product.belongsToMany(User, { through: { model: UserProducts, unique: false } });