Make the churros: In a medium saucepan on medium heat, combine the water, 1 cup of sugar, salt, vanilla, and 2 tablespoons of oil. Bring to a boil, then promptly remove from the heat. Add the flour and stir with a sturdy wooden spoon, making sure all the flour is completely mixed in. Check to make sure there are no pockets of dry flour hiding in your dough.
Allow the dough to cool for a few minutes, then place it into a cloth piping bag with a large star tip on it. The large tip ensures you are not working too hard to squeeze the dough out. Pipe out your churros, about 4 inches long, onto a nonstick or wax paper–lined baking sheet, and refrigerate for 20 minutes. Cold churro dough is easy to handle and fries better.
In a large pot, bring the rest of the vegetable oil to 350°F, using a thermometer to keep an eye on the oil temperature. This is very important for getting a nicely fried churro. You may have to adjust the heat on your stovetop to keep the oil at a constant temperature during frying. Slide a few churros into the oil. Make sure to leave enough room for them to float around in the pot. Fry the churros until they are golden brown, about 3 to 4 minutes each.
Remove the churros from the oil with a slotted spoon or tongs. Let them drain on a rack over a baking sheet or on paper towels. Combine the remaining 2 tablespoons of sugar with the cinnamon in a large bowl. Toss the churros around in the bowl, a few at a time, to coat. Serve drizzled with Mexican Spiced Chocolate Sauce.
Make the sauce: bring the coconut milk and almond milk to a boil over medium-high heat, then promptly remove from the heat. Whisk the chocolate chips and pieces of Mexican chocolate a little at a time into the hot milks, until everything is melted and combined.
Stir in the cayenne and salt. Keep warm on the stovetop next to the heat but not on a direct flame.