Prepare bread dough: In a large bowl, mix together flour, sugar, salt, and instant yeast. Stir in milk and oil (if using) until combined, then turn out dough onto a lightly floured surface.
Knead: Knead (with your hands or a stand mixer) until the dough comes together and becomes slightly elastic (about 5 minutes). If using butter, stretch the dough out into a small log and place small cubes of butter on top (or add directly to stand mixer). Roll up the dough and continue kneading. It will be very greasy at first, but just continue kneading and the dough will absorb the butter and become smooth.
When ready, the dough should be smooth and just slightly sticky, but it shouldn't stick to your hands. (You can use the Windowpane Test to see if enough gluten has developed. You can also test the elasticity by poking the dough -- it should bounce back.) This should take about 15-20 minutes of kneading by hand, or about 10 minutes in a stand mixer. If using a stand mixer, check the dough often since it is possible to over-mix the dough.
Proof: Roll your dough into a ball and place in a large greased bowl. Place a tea towel or plastic wrap over the bowl and let the dough rest until doubled in size. You can place the bowl in the oven if your oven has a "proof" setting, or just turn the oven light on. You can also leave it out at room temperature, but your rise may take longer. The warmer the environment, the faster it will rise. (Don't rush it though. Flavors deepen as the dough proofs.)
Cookie Dough
Flax egg: While your dough is rising, prepare your cookie dough. If using ground flax, mix with the soy milk and set aside for a few minutes to thicken.
Make cookie dough: Cream together coconut oil and sugar, then beat in flax mixture (or milk) until well combined. Add flour, baking powder, and matcha powder (if using). Form dough into a ball and keep covered.
Set aside: You can leave the cookie dough on the counter if your environment is below 68°F, otherwise the coconut oil will start to melt. If you're in a warm environment, place cookie dough in the fridge. Take the cookie dough out of the fridge about 10-15 minutes before you assemble the melon pan. This will give it time to come to room temperature and soften. You want your cookie dough to be rollable but not completely loose.
Shape Melon Pan
Check bread dough: My dough usually takes about 1 ½ - 2 hours to proof on the kitchen counter. To test if it is done, poke a hole in the center of the dough with your finger. If the hole doesn't close back up, it's ready.
Deflate: Punch down your dough and flip onto a non-stick surface. Divide the bread dough into 8 pieces and roll each into a ball.
Assemble melon pan: Divide the cookie dough into 8 pieces. Roll each out into a flat disk shape. Place one bread dough ball in the center of one disk. Wrap the cookie dough around the bread dough so that it covers most of the surface. Repeat with remaining dough.
Create melon pattern: To make the "melon" pattern on the breads, make 3-4 shallow cuts across the top of the cookie dough (don't cut all the way through the cookie dough), then make 3-4 more cuts in the opposite direction to create the melon pattern. At this point you can also roll the cookie part in some sugar (preferably coarse sugar) for a crunchier top.
2nd proof: Place the buns on a lined baking sheet and loosely cover with plastic wrap or a tea towel. Place in a warm environment and let rise for about 20 minutes. It should increase in size during this second proof.
Preheat & bake: While the dough is proofing, preheat the oven to 350°F/180°C. Bake for 15 minutes, until the cookie crust is firm and the bottoms are lightly browned. The bread should feel slightly firm but still soft inside. Transfer to a cooling rack and let the buns cool completely.
Notes
1) You can omit the ground flax if you don't want there to be specks in your cookie top. The cookie topping will just be slightly more crumbly and prone to cracking.2) If you'd like to use vegan butter in the cookie top (it will have more buttery flavor this way), you can try using 4 tbsp (~55g) vegan butter and reduce the soy milk by 1 tbsp. Please note I haven't tested this version yet, but I think it should work if you prefer a buttery flavor.3) The matcha powder is purely for color not flavor, so feel free to omit.