Begin the night before.
If mixing using stand mixer: In the bowl of a stand mixer, whisk together the eggs, egg yolks, sugar, butter, food dye, and vanilla extract. Add 2 cups flour, cocoa powder, yeast, and salt. Place buttermilk in a microwave safe measuring cup and microwave for 30-45 seconds, until it reaches 120-130°F. If the buttermilk curdles when heated, simply whisk it back together. Pour the heated buttermilk into the mixing bowl and stir by hand or with the mixer’s paddle attachment until the ingredients are evenly moistened. Switch to the dough hook, then add the remaining 1 3/4 cups flour. Knead dough on low speed for 6 minutes. The dough should be soft, moist, and tacky, but not excessively sticky. If dough is too wet, add more flour 1 tablespoon at a time, until the correct consistency is reached. Lightly spray a large, clean bowl with cooking spray, then transfer dough to the bowl, turning once to coat. Cover bowl with plastic wrap and let rise in a warm, draft-free place until doubled in size, 2 to 2 1/2 hours.
If mixing by hand: Stir the ingredients together in the order above with a wooden spoon or Danish dough whisk for several minutes, until the dough forms a wet, shaggy mass. Turn dough onto a floured surface and knead for 5 minutes. The dough will be very sticky and cling to the counter, but use as little flour as possible to prevent the dough from becoming tough. Once kneaded, scrape the dough into a lightly oiled bowl, turn once to coat. Cover bowl with plastic wrap and let rise in a warm, draft-free place until doubled in size, 2 to 2 1/2 hours.
Prepare the filling: In a small bowl, combine the brown sugar, granulated sugar, cocoa powder, cinnamon, and salt. Set aside. Melt butter and set aside.
Shape the rolls: Butter a 9x13-inch ceramic or glass baking dish. Turn the risen dough out onto a lightly floured work surface and roll into a 18-inch by 12-inch rectangle, with the longest side closest to you. Brush the dough with melted butter, then sprinkle with the brown sugar-cocoa powder mixture. Starting with the long edge, roll the dough tightly into an 18-inch log. With a a sharp, serrated knife, gently saw the log into 12, 1 1/2-inch wide pieces. Arrange the buns in the prepared baking dish, cover with plastic wrap, and refrigerate overnight.
Bake the rolls: The next day 30 minutes prior to baking, remove rolls from refrigerator and let come to room temperature. Place rack in the center of oven and preheat to 350°F. Remove plastic wrap and bake rolls until they are puffed and darken slightly and the internal temperature reaches 190°F, about 30 minutes. Check the rolls 20 minutes into baking—if they appear to be browning too quickly, cover the pan with aluminum foil, return the rolls to the oven, and continue baking until complete. Remove the pan from oven, uncover if necessary, and place the pan on a wire rack to cool slightly.
Make the glaze: In a mixing bowl, beat the cream cheese until smooth and creamy. Add the milk and vanilla extract and whisk until combined. Slowly mix in the sifted powdered sugar until smooth. Add more/less powdered sugar to achieve desired consistency. Drizzle over warm rolls and serve immediately.