Make the pastry puffs: Preheat the oven to 450 degrees F and line 2 baking sheets with parchment paper. Bring 1 cup water, the butter, granulated sugar and salt to a boil in a medium saucepan. Remove from the heat and sift the flour directly into the pan; stir with a wooden spoon until a paste forms. Return to medium heat and cook, stirring constantly, until the paste is shiny and pulls away from the side of the pan, about 3 minutes.
Transfer to a stand mixer fitted with the paddle attachment and beat on medium speed to cool slightly, about 2 minutes. Beat in 1 egg until incorporated, then beat in 1 more egg. Whisk the third egg in a small bowl, then beat into the dough, 1 tablespoon at a time, until just smooth and tight. (You may not need all of the third egg.)
Transfer the dough to a pastry bag fitted with a 1/4-inch round tip. Pipe 1 1/4-inch rounds of dough onto the prepared baking sheets, about 1 inch apart; you should have about 50 puffs. (Alternatively, drop the dough in small mounds onto the baking sheets with a spoon.) Smooth the dough peaks with a dampened finger, then transfer to the oven and bake until puffed, 10 minutes. Reduce the oven temperature to 350 degrees F and continue baking until golden, 5 more minutes. Turn off the oven but leave the puffs inside to dry out, 5 to 7 more minutes. Remove from the oven and pierce a small hole in each puff with a paring knife to let steam escape; transfer to a rack to cool completely.
Make the filling: Put the white chocolate in a medium heatproof bowl. Bring the heavy cream to a boil in a small saucepan, then pour it over the chocolate. Gently whisk until smooth and cool, about 7 minutes; whisk in the peppermint extract. Stir in the mascarpone until combined. Cover and refrigerate until thick enough to pipe, about 30 minutes. Transfer to a large pastry bag fitted with a 1/4-inch round tip.
Insert the tip of the pastry bag into the hole in each puff and pipe in the filling. Transfer the filled puffs to a baking sheet; refrigerate at least 30 minutes or up to 2 hours.
Make the icing: Whisk the confectioners' sugar and milk in a large bowl until smooth. Assemble the croquembouche: Dip the bottom of a puff into the icing, letting the excess drip off. Transfer the puff to a platter, icing-side down. Repeat with more puffs, arranging them side-by-side in a 7-inch circle. Fill in the circle with more puffs to stabilize the base of the tower. Continue building a conical tower of puffs, using the icing to hold them in place. (If the icing becomes too thick, whisk in more milk, 1 teaspoon at a time.)
Dust the croquembouche with confectioners' sugar and sprinkle with crushed candy canes; chill until set, about 15 minutes.