Pour the whole milk into a medium saucepan and add the cinnamon stick.
Heat over medium-low heat for 4 to 5 minutes until the milk is hot but not boiling.
Add the broken Mexican chocolate pieces and stir continuously until completely melted.
Whisk in the cocoa powder, vanilla extract, and cayenne pepper if using.
Continue cooking for 2 to 3 minutes while whisking frequently until smooth and creamy.
Remove the cinnamon stick.
Use a whisk, milk frother, or traditional molinillo to vigorously froth the hot chocolate for about 1 minute until a layer of foam forms on top.
Pour into serving mugs.
Top with whipped cream and a light sprinkle of ground cinnamon if desired.
Serve immediately while warm.