In a large bowl, whisk together the flour, cocoa powder, granulated sugar, baking soda, and 1/4 tsp salt.
Cut in the cold cubed butter with a pastry cutter or your fingertips until the mixture resembles coarse meal with a few pea-sized bits of butter.
Stir in the white vinegar and 3 drops of red gel food coloring.
Add the ice water 1 tbsp at a time, stirring after each addition, until the dough forms a smooth, cohesive ball.
Shape the dough into a disk, wrap tightly in plastic wrap, and refrigerate for 1 hour.
After chilling, lightly flour a cool work surface and roll the dough to 1/8 inch thickness.
Cut the dough into 4 inch circles using a round cutter or a template and knife.
Wrap each dough circle around a greased metal cannoli tube, overlapping the edges slightly. Brush the overlap with a little water or egg wash and press to seal firmly.
Pour vegetable oil into a deep, heavy pot to a depth of about 2 inches and heat to 350°F over medium heat.
Fry the wrapped cannoli shells 2 to 3 at a time for 3 to 4 minutes, turning occasionally, until crisp and deep golden.
Carefully remove the shells from the oil with tongs or a slotted spoon and drain on a paper towel lined rack. Let cool slightly, then gently slide out the cannoli tubes and let the shells cool completely.
For the filling, place the softened cream cheese in a mixing bowl and beat with an electric mixer on medium speed until completely smooth and creamy.
Add the confectioners’ sugar, vanilla bean paste, and 1/8 tsp salt. Beat on low at first, then increase to medium until smooth and combined.
Pour in the heavy cream and beat until the filling is thick, fluffy, and holds soft peaks.
If desired, tint the filling with 3 drops of red gel food coloring and mix until the color is even.
Cover the bowl and refrigerate the filling for 1 hour to firm up.
Once the shells are fully cool and the filling is chilled, transfer the filling to a piping bag fitted with a large round or star tip.
Pipe the cream cheese filling into each cannoli shell from one end until filled halfway, then pipe from the opposite end to fill the center.
Immediately dip each end of the filled cannoli into mini chocolate chips and crushed pistachios so they adhere to the filling.
Arrange the cannoli on a serving platter and dust the tops with powdered sugar and Dutch-process cocoa powder just before serving.