Make flax egg: Mix together ground flax/chia and soy milk. Set aside to gel.
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.)
Prepare cookie dough: While your dough is rising, prepare your cookie dough. Cream together coconut oil and sugar, then beat in flax mixture until well combined. Sift in flour, baking powder, and matcha powder. Mix until a uniform dough forms. Form dough into a ball and keep covered. You can leave it 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.
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, 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
MATCHA POWDER: This is purely for color and adds no flavor to the bread, so feel free to omit.