For the sponge, mix the coconut milk, bread flour, yeast, and sugar in a medium bowl until well combined. Cover and allow to rise at room temperature for 30 minutes.
Meanwhile, place the diced, dried mango in a bowl and cover with boiling water. Allow to soak for 5-10 minutes, until soft enough to cut easily with a knife. Drain and chop into ¼” pieces, set aside.
Combine the ube, coconut milk, and honey in a small saucepan over medium heat and bring to a simmer. Cook for 5 minutes, stirring constantly until there are no lumps, and mixture thickens to a paste. If you are using fresh grated, you may need a few minutes longer. It should be deep purple in color. Allow to cool to at least 110F.
Once the sponge and ube are ready, combine them along with the egg, butter, bread flour, sugar, salt and flavoring (if using) in the bowl of a stand mixer and mix on medium-low speed for 8 minutes. Add the mango and coconut flakes and mix until incorporated, another 1-2 minutes on low speed.
Transfer to a large bowl greased with oil and cover.
Set aside in a warm place and allow to rise until doubled, approximately 45 minutes-1 hour. (This can also be done a day ahead and set in the refrigerator to rise overnight).
In the meantime, prepare the topping and lightly grease a 9″ x 13″ pan with butter or oil.
Turn the dough out onto a floured surface. Divide into 12 pieces. Pat down each piece and pinch all of the edges together at the center. Turn so that the edges are on the surface and seal by rolling into a tight ball. Line up the rolls 4 x 3 in the prepared pan pan.
Cover with a towel and allow to rise for another 30-45 minutes.
Prepare the topping. See recipe below.
Preheat the oven to 375F.
Just before baking, cut a ¼” opening in the pastry bag and pipe a “cross” on each bun.
Bake for 20-25 minutes, until the tops are lightly browned. Allow to cool and serve.