The link you provided does not advises against creating indexes in production. It advises not to use autoIndex. Principally because:
While nice for development, it is recommended this behavior be disabled in production since index creation can cause a significant performance impact.
I embolden the critical part of the sentence. It is the index creation that has a significant negative impact. Having index is really like they discuss in the course.
Also note, that autoIndex does not mean that you create an index for every field. Instead, it means:
Mongoose automatically calls createIndex for each defined index in your schema
An extra bad thing with autoIndex is that if you change the index definition in your schema and the index already exist in MongoDB, an error will be thrown.