Place the masa harina and about half the water in a blender and blend until you get a smooth paste and no lumps remain. If needed, stir and re-blend. You can also mix by hand but you want as smooth a paste as possible.
Place the rest of the water and the milk in a small-medium pot/saucepan and add the cinnamon stick and piloncillo/sugar. Warm over a medium-low heat until the piloncillo dissolves and it is very warm but not quite boiling.
Add the chocolate to the warm milk and stir until it has all dissolved. Add the masa harina paste and stir through well so it breaks up and is well mixed in - you can also use a whisk. Add the vanilla, if using.
Warm the mixture for around 8 - 10 minutes, stirring constantly, until the mixture thickens, but keep low enough that it doesn't boil. Once it has thickened to your taste, remove the cinnamon stick. You can thin, if needed, with a little extra milk, and sweeten more to taste as well. Pour into cups and serve (be aware it holds it's heat well).
Notes
Piloncillo is usually sold as a block so you will need to shave some off for this. Mexican-style chocolate is typically sold as tablets so break into sections before adding to help it melt more easily. I like Taza which is Mexican-style rather than made in Mexico (it's actually made near where I live!) but for a true Mexican brand, popular ones are Ibarra and Abuelita.