For the pastry cream, bring the milk to a boil in a small saucepan.
In a separate bowl, whisk the egg yolks with sugar, cornstarch, and a little vanilla paste until smooth. Slowly pour the hot milk into the yolk mixture while whisking constantly, then return the mixture to the saucepan. Cook over medium-low heat, stirring constantly, until the pastry cream is thick and stable. Add both chocolates and whisk until fully melted. Transfer to a shallow container, press plastic wrap directly onto the surface, and refrigerate for at least 2 hours.
For the craquelin, combine the flour, sugar, and cold butter in the bowl of a stand mixer fitted with the paddle attachment. Mix until a cohesive dough forms. Roll the dough between two sheets of parchment paper into a very thin layer. Cut into small rounds slightly larger than your piped choux and freeze until ready to use.
To make the choux pastry, combine the milk, water, butter, sugar, and salt in a saucepan and bring to a boil. Remove from heat and add the flour all at once. Stir vigorously until the dough pulls away from the sides of the pan and forms a ball. Return to medium heat and stir for another minute or two to dry it slightly. Transfer to the bowl of a stand mixer fitted with the paddle attachment. Mix for 1 to 2 minutes to cool slightly, then add the eggs gradually, mixing well after each addition, until the dough is smooth, glossy, and holds its shape.
Preheat the oven to 340°F (170°C), convection setting.
Transfer the dough to a piping bag fitted with a plain round tip. Pipe 3 to 4 cm rounds onto a parchment-lined baking sheet, spacing them well apart. Place a frozen craquelin disk on top of each one. Bake for 35 to 40 minutes, until puffed and golden. Let cool completely on a wire rack.
Whisk together the milk and hazelnut spreads until smooth. Fill a piping bag with the chilled chocolate pastry cream and pipe into the base or side of each cooled puff. Dip the tops into the spread mixture and sprinkle with chopped hazelnuts before serving.