Combine the yeast, milk, bread flour, cake flour, salt, sugar, cold water, and butter. Knead using a stand mixer on low speed for about 5 minutes, then increase to high speed and continue kneading for 15–20 minutes until the dough is smooth and no longer sticks to the bowl.
Take a portion of the dough (300 g) and knead it with the cocoa powder and a small amount of water. Mix until smooth, then roll into a thin sheet (2 mm). Chill until set.
Roll out the main croissant dough into a flat sheet approximately 30 cm × 60 cm. Place the chocolate dough sheet on top, cover tightly with cling film, and refrigerate for 30–45 minutes.
Roll the croissant butter (1 kg) into a 30 cm × 30 cm square. Place the butter sheet onto the rolled dough, cover with cling film, and refrigerate for about 30 minutes. The butter and dough should both be at around 5–6 °C for optimal lamination.
Roll the dough into a sheet about 30 cm long and give it a single fold (letter fold). Rest in the refrigerator for 30 minutes.
Roll and fold the dough again using a double fold (book fold). Rest for 90 minutes.
Using a sharp knife, cut the laminated dough lengthwise into even strips about 1 cm thick. Stack the strips onto the uncut dough sheet and press gently to adhere. Use a rolling pin lightly—do not press too hard to avoid damaging the layers. Roll the dough to a thickness of 3–4 mm, cut into pieces (10 cm base, 30 cm length), roll up from the base, and place into round moulds as shown.
Proof for about 2 hours at 26 °C. Before baking, gently press the centre to create a "well" for the flan. Bake at 200 °C for 14–16 minutes until almost fully baked.
Pipe the flan filling into the centre (25–30 g), then bake again at 160–170 °C for 8–10 minutes.