Add the onion, green onions, garlic, and Scotch bonnet to a food processor and process until almost a paste. Set aside.
Add the ground beef to a medium-sized saucepan, and stir in the vegetable paste, stirring to break up any clumps. Simmer for a few minutes, stirring occasionally until the beef turns brown. Add thyme, all-purpose seasoning, sugar, salt, allspice, and nutmeg. Reduce the heat to medium and simmer for about 20 minutes, stirring occasionally. Most of your liquid will have evaporated, but some will remain. Stir in the browning.
Add breadcrumbs and water to a bowl and stir. Add this to the beef mixture and quickly stir. Allow to simmer for 1-2 minutes, stirring occasionally. Remove from the heat, taste and adjust salt if needed, then cool to room temperature and refrigerate until completely cold. The filling should be thick, moist, and hold together when scooped.
Make the bread and assemble
In the bowl of a stand mixer or a large mixing bowl, combine the flour, yeast, salt, and sugar and stir to blend. Pour in the water and coconut milk and stir until a shaggy dough forms, then add 2 tablespoons of the softened butter and mix until incorporated.
To knead with a stand mixer, switch to the dough hook and knead on low speed for 6 to 8 minutes, until the dough is smooth, elastic, and slightly sticky. To knead by hand, turn the dough out onto a lightly floured surface and knead for 8 to 10 minutes, until smooth, elastic, and slightly sticky.
Shape the dough into a ball and place in a lightly greased bowl, turning to coat. Cover and let rise in a warm spot until doubled in size, 1 to 2 hours.
Line a baking sheet with parchment paper. Turn the dough out onto a lightly floured surface, gently press out the air, and divide into 8 equal pieces. Shape each piece into a ball, then roll each one into a 7-inch circle.
Place about ¼ cup of cold beef filling on one half of each circle, leaving a clean border. Fold the empty half over the filling to form a half-moon and press the edges firmly to seal.
Arrange on the prepared baking sheet, cover loosely with plastic wrap or a clean kitchen towel, and let rise for about 30 minutes, until slightly puffed.
Bake for 18 to 20 minutes, until lightly golden on top and lightly browned on the bottom. Remove from the oven and, while still hot, rub the tops with the remaining 2 tablespoons softened butter. Let cool slightly before serving warm.
Notes
Make ahead: The filling can be made a day ahead and refrigerated until cold and firm enough to portion. Storage: Refrigerate leftover meatloaves in an airtight container for up to 3 days. Reheat in a 350°F (175°C) oven until warmed through.