Activate the yeast by combining warm milk, sugar, and yeast in a bowl. Let stand for about 5-10 minutes until foamy.
In a large mixing bowl, combine flour, cocoa powder, salt, melted butter, eggs, food coloring, and vanilla extract.
Add the foamy yeast mixture to the flour mixture and knead until smooth and elastic, about 8-10 minutes.
Form the dough into a ball, place it in a greased bowl, cover it, and let it rise in a warm spot until doubled in size, about 1 hour.
Prepare the filling by mixing brown sugar, cinnamon, and a pinch of salt in a bowl.
Once risen, punch down the dough to release air, and roll it out on a floured surface into a rectangle about 1/4-inch thick.
Spread softened butter evenly over the rolled-out dough, then sprinkle the cinnamon-sugar mixture over the top.
Starting from one long side, tightly roll the dough into a log. Pinch the seam to seal and cut into 12 equal pieces.
Arrange the rolls in a greased baking dish, cover them, and allow them to rise again for about 30-45 minutes.
While the rolls rise, preheat the oven to 350°F (175°C).
Bake the rolls for 25-30 minutes until puffed and lightly browned. Remove from the oven and let them cool slightly.
While cooling, prepare the cream cheese frosting by beating cream cheese, powdered sugar, and milk until smooth.
Drizzle or spread the cream cheese frosting over the warm cinnamon rolls just before serving.