Preheat your oven to 400°F (200°C) and line a large baking sheet with parchment paper. If the puff pastry feels warm, refrigerate it for 10 minutes to ensure the butter stays cold.
On a lightly floured surface, gently roll the puff pastry into a 10x12-inch rectangle, smoothing any creases. Cut the rectangle into 8 triangles by first cutting it in half lengthwise, then cutting each half into 4 triangles.
Place one chocolate baton at the wide end of each triangle, slightly off-center. Starting from the wide end, roll the pastry tightly around the chocolate, tucking the tip underneath to seal. Curve the ends slightly inward to create a crescent shape.
Arrange the croissants on the prepared baking sheet with the seam side down, spacing them 2 inches apart. Brush each one generously with the egg wash, making sure to coat all visible surfaces for an even golden color.
Let the croissants rest at room temperature for 15 minutes to puff slightly. Brush them with egg wash a second time, then sprinkle lightly with granulated sugar.
Bake for 18-22 minutes, rotating the pan halfway through, until the croissants are deeply golden brown and puffed with visible layers. The tops should be crisp and the bottoms should sound hollow when tapped.
Transfer to a wire rack and let cool for 5 minutes before serving — the chocolate will be molten hot initially. If desired, sprinkle with a pinch of flaky sea salt just before serving for a sweet-salty contrast.