Stir together yeast, a pinch of sugar and ½ cup very warm water together in the bowl of a stand mixer fitted with a dough hook; let sit until foamy, about 10 minutes.
Stir in milk, sugar, 3 tbsp melted butter and salt; add flour.
Mix on medium speed until a stiff dough forms, about 5-7 minutes.
Transfer to a work surface and form into a square; wrap in plastic wrap and refrigerate for 2 hours.
Place remaining butter on a sheet of plastic wrap or parchment; cover with another sheet.
Using a rolling pin, pound and shape butter into a 6”, ½”-thick square; set aside.
Using rolling pin, roll dough into an 16” square on a lightly floured work surface.
Unwrap butter square, and place on dough so its corners line up with the middle point of each side of dough square; fold dough corners over butter so they meet in the center.
Roll dough into a 12” x 9” rectangle, and then tri-fold dough like a letter.
Roll the dough into a 12” x 9” rectangle and repeat folding.
Wrap in plastic wrap; chill for 30 minutes to 1 hour.
Repeat rolling and folding dough twice more; chill for 1-2 hours.
Roll dough into a 20” x 14” x ¼” thick sheet; halve lengthwise.
Cut each half into about 9 triangles, about 3 ½”-wide at their base; cut a ½”-deep slit in the middle of each wide base.
Place 1 chocolate bar parallel to the base near the cut; holding the tip of the opposite corner down, roll the base over the chocolate toward the tip until it forms a tight roll.
Place croissant on a parchment paper-lined baking sheet, tip side down, and brush with egg wash.
Repeat with remaining triangles, bars, and egg wash.
Let croissants sit until doubled in size, about 2 ½–3 hours. For regular croissant, simply omit the chocolate.
To make more traditional pain au chocolat, cut 3 ½” wide rectangles from each 7” strip.
Place first chocolate piece at bottom of rectangle.
Roll over once.
Place second chocolate piece and roll over again.
Place on parchment-lined sheet keeping seam at the bottom.
Heat oven to 380°F (190°C).
Working with one baking sheet at a time, brush croissants with more egg wash.
Bake until deep golden brown, about 20-24 minutes.