Cut the butter in four 1-Tablespoon slices and place in the bowl of an electric stand mixer fitted with the dough hook attachment. Add the flour, sugar, salt, and yeast. Turn the mixer on low-medium speed to gently combine the ingredients for 1 minute. With the mixer running, slowly pour in the milk. Once all of the milk is added, turn the mixer up to medium speed and begin to knead the dough.
Keep the dough in the mixer and beat for an additional 5 full minutes, or knead by hand on a lightly floured surface for 5 full minutes. If the dough becomes too sticky during the kneading process, sprinkle 1 teaspoon of flour at a time on the dough or on the work surface/in the bowl to make a soft, slightly tacky dough. After kneading, the dough should still feel a little soft.
Remove dough from the bowl and, with floured hands, work it into a ball. Place the dough on a lightly floured silicone baking mat lined, lightly floured parchment paper lined, or lightly floured baking sheet. Gently flatten the dough out, and cover with plastic wrap or aluminum foil. Place the entire baking sheet in the refrigerator and allow the covered dough to rest in the refrigerator for 30 minutes.
Remove the dough from the refrigerator. Begin flattening out the dough with your hands. Roll it into a 14×10-inch rectangle. Place the rolled out dough back onto the baking sheet. Cover the rolled out dough with plastic wrap or aluminum foil, place the entire baking sheet in the refrigerator and allow the covered dough to rest in the refrigerator for 4 hours or overnight.
In a large bowl using a hand-held mixer or stand mixer fitted with a paddle or whisk attachment, beat the butter and flour together until smooth and combined. Transfer the mixture to a silicone baking mat lined or parchment paper lined baking sheet. Using a spoon or small spatula, smooth out into a 7×10-inch rectangle. Place the entire baking sheet in the refrigerator and chill the butter layer for 30 minutes.
Remove both the dough and butter layers from the refrigerator. Place the butter layer in the center of the dough and fold each end of the dough over it. Roll the dough into a 10×20-inch rectangle. Fold the dough lengthwise into thirds as if you were folding a letter. This was the 1st turn.
Turn the dough so the short end is facing you. Roll the dough out once again into a 10×20-inch rectangle, then fold the dough lengthwise into thirds as if you were folding a letter. Place the folded dough on the baking sheet, cover with plastic wrap or aluminum foil, and refrigerate for 30 minutes before the 3rd turn.
Roll the dough out once again into a 10×20-inch rectangle. Fold the dough lengthwise into thirds as if you were folding a letter. Place the folded dough on the lined baking sheet, cover with plastic wrap or aluminum foil, and refrigerate for 4 hours or overnight.
Remove the dough from the refrigerator. On a lightly floured counter, roll the dough out into an 8×20-inch rectangle. Using a pizza cutter or sharp knife, slice the dough in half vertically. Then cut 3 even slices horizontally, yielding 8 4×5-inch rectangles. Cut each rectangle in half lengthwise so you have 16 2×5-inch rectangles.
Work with one rectangle at a time. Using your fingers or a rolling pin, stretch it to be about 8 inches long. Place a few small pieces of chocolate in a single layer at one end and tightly roll the dough up around the chocolate. Repeat with remaining dough, placing the shaped croissants on 2 lined baking sheets, 8 per sheet. Loosely cover with plastic wrap or aluminum foil and allow to rest at room temperature for 1 hour, then place in the refrigerator to rest for 1 hour or up to 12 hours.
Preheat oven to 400°F (204°C). Whisk the egg wash ingredients together. Remove the croissants from the refrigerator. Brush each lightly with egg wash.
Bake until croissants are golden brown, about 20 minutes. Rotate the pans halfway through baking. Remove chocolate croissants from the oven and place on a wire rack to cool for a few minutes before serving. If desired, dust with confectioners’ sugar before serving.
