To begin, in a medium saucepan, combine 1 cup of water, butter, sugar, and salt. Heat over medium heat until the butter melts and the mixture begins to simmer. Stir occasionally to ensure even melting.
Reduce the heat to low and add the flour to the saucepan all at once. Stir vigorously with a wooden spoon until the dough comes together into a smooth, thick ball that pulls away from the sides of the pan. Cook for 1-2 minutes to eliminate any raw flour taste.
Transfer the dough to a large mixing bowl and let it cool for a few minutes. Once the dough is warm (not hot), add the eggs one at a time, beating well after each addition until fully incorporated. The dough should be smooth, glossy, and slightly sticky.
Fill a large heavy bottomed pot with vegetable oil to a depth of about 2 inches. Heat the oil to 350°F (175°C). While waiting, transfer the churro dough to a piping bag fitted with a star-shaped nozzle for a traditional churro shape.
Carefully pipe 5-6-inch lengths of dough into the hot oil, using scissors to cut the dough as you go. Fry the churros in batches for about 3-4 minutes, turning them halfway through, until they are golden brown and crisp. Avoid crowding the pot to ensure even frying.
Using a slotted spoon, remove the churros from the oil and place them on a paper towel lined plate to drain. While they are still warm, roll the churros in granulated sugar and dust with a light sprinkling of cinnamon.
To prepare the chocolate sauce, dissolve the corn starch in a few tablespoons of milk in a small bowl to prevent lumps. In a small saucepan, heat the remaining milk over low heat until warm. Add the corn starch mixture and stir continuously until it begins to thicken.
Add the chopped dark chocolate and sugar to the thickened milk, stirring until the chocolate is fully melted and the sauce is smooth and rich. Adjust sweetness if needed. Serve the warm churros alongside the chocolate sauce in small bowls for dipping, allowing each person to enjoy their churros freshly dipped.