Prepare the almond cream (recipe below) and set aside. (This can be done up to 3 days in advance—just be sure to bring it to room temperature before using.)
In a small bowl, combine the milk and water. Make sure the milk and water are the same temperature as your hand (around 90º F). (Any warmer than this, and the yeast will get too hot and die.) Stir in the yeast, and let sit for 5 minutes, or until foamy and bubbly.
In the bowl of a stand mixer, combine the flour, salt, and sugar. When the yeast mixture is nice and foamy, add it into the flour mix and start to combine it with a dough hook on low speed. While the dough hook mixes, add in 20 grams of the butter. Mix this until elastic and smooth.
Transfer the dough to a lightly oiled bowl, cover it with plastic wrap, and let it proof at room temperature for 1 1/2 hours, or until it has doubled in size. Let it proof at room temperature for 45 minutes. Gently punch down the dough and fold it onto itself (see pictures above), then continue to let it rise for another 45 minutes, or until the dough has doubled in size from the original.
While the dough is rising, roll out the remaining 300 grams of butter: Cut it into 1-inch pieces and place it between between two large pieces of plastic wrap. Pound it (gently!) with a rolling pin until it all comes together into a thin, pliable block. Don't worry if the butter gets too thin (transluscent) in places; if this happens, gently peel back the plastic wrap, refold the butter onto itself, re-cover it with the wrap, and roll or pound it out with the rolling pin. Repeat as necessary until you have a smooth, pliable block of butter. Roll this block—still between the plastic wrap—to a size of 10 - x 8-inches, about 1/8- to 1/4-inch thick. Place it in the refrigerator to chill. Remove it from the refrigerator 5 minutes before you are ready to use it (in Step 7).
Return to the proofed dough and roll it out into a large rectangle on a floured surface. Fold it into thirds (with the long ends overlapping like a letter). Cover it lightly with plastic wrap and let it rest for 20 more minutes in the fridge.
Once it's rested, roll out the dough to 21- x 10-inches. This will look like a long, horizontal strip. Place your butter block over the left two-thirds of the dough, leaving a 1-inch border around it and an uncovered portion to the right. (The butter will cover both the middle and the left end of the dough, leaving the right side uncovered.) Fold the unbuttered, right side of the dough into the middle, two-thirds of the way up. Fold the buttered, left end over top of it into a letter fold. Gently press the edges together to seal the butter in. Rotate the dough 90 degrees and re-roll it out into a long rectangle. Fold the dough again like a letter, wrap it in plastic, and place it in the refrigerator to chill for 30 minutes. Repeat this process (rolling and folding it into a letter) 2 more times. After the final turn, let it rest in the refrigerator at least 3 hours, or overnight.
Roll out the dough on a floured surface into a long rectangle, about 21- x 10-inches. Using your hands, square the sides so that the corners are angular. It should be about 1/4-inch thick.
Cut the dough horizontally into two even, long strips 5-inches wide (so that each strip is 21- x 5-inches wide). On each long piece of dough, make a cut every 3 inches so that you have seven 3- x 5-inch rectangles per long strip (for 14 total). Place a rectangle in front of you horizontally, then push out the rectangle slightly with your fingers. Place a line of chopped chocolate across the width from the top edge to the bottom edge and roughly 1/2 inch away from the left edge. Brush the left edge with your egg wash, then fold it over the line of chocolate to seal it. Place another line of chocolate directly to the right of this roll, then seal it with an egg wash in the same way. The croissant should be rolled like a little scroll. Place the croissant on a parchment-lined sheet tray, making sure the sealed edge is on the bottom. Repeat for each rectangle, leaving 3 inches between each croissant on the baking tray. (You should be able to line up 7 to 8 per tray.)
When you're finished shaping each croissant, cover the entire tray lightly with plastic wrap and and allow to proof in a warm place until they're light and airy, about 20 to 40 minutes. To check if the dough has risen enough, poke one. If it retains its poke indent, it's ready to be baked.
Preheat the oven to 450º F. Carefully brush the tops of the croissants with egg wash, taking care not to deflate them. Bake them for 20 minutes, rotating at 10 minutes, then reduce the heat to 400º F and continue baking until the croissants are golden brown, 15 to 20 minutes more. While they bake, remove the almond paste from the refrigerator to bring it to room temperature. At this point, you have completed chocolate croissants. Eat one to celebrate, then make the rest into chocolate-almond croissants. I know the chocolate croissants look good enough to stop here, but you won't regret it, I promise.
Turn the oven down to 350º F. Cut the chocolate croissants in half horizontally, as though you are making a sandwich. Spread 1 to 2 tablespoons of the almond cream over the bottom half and place the top half back on top. Spread another tablespoon of the almond cream over the top, sprinkle with sliced or slivered almonds, and bake in a 350º F oven for 15 minutes, or until the almond mixture has cooked through and is golden brown around the edges. Remove them from the oven, pour yourself a cup of tea, and have one or two. To save some for breakfast, store them in airtight container for up to 3 days.
For the almond cream:
In a stand mixer with a paddle attachment, mix all the ingredients together on low speed for 1 minute. Scrape down the sides, then mix on high speed until well combined, about 1 additional minute. Remove from stand mixer and use immediately in the croissant recipe above or store in an airtight container in the refrigerator for up to 3 days.