Add the milk to a small saucepan and bring to a low simmer. Whisk in the coconut oil, maple syrup, lemon zest, and vanilla, then pour into a large heatproof bowl. It should be just warm to the touch (if it's too hot, leave it to cool slightly). Stir the yeast in and let it rest for about 15 minutes, or until foamy.
Stir in 1 cup of flour and the salt. Add the remaining flour in 1/2 cup increments, stirring between each addition, until it becomes too difficult to stir. Turn the dough out onto a floured surface and knead, adding more flour as required, until a soft and smooth dough forms, about ten minutes.
Oil a large bowl and place the dough into it, turning a few times to coat to prevent the top from drying out. Cover the bowl with a plate or board and set it in a warm place to rise until doubled in rise, about an hour.
Line a large baking sheet with parchment paper. Follow the directions in this video to make a six strand braided bread - rolling out the strands a bit thinner than the ones shown in the video. Place the finished product onto the baking sheet and cover with a tea towel, and set it in a warm place to rise again for about 30-45 minutes, or until significantly larger but not quite doubled.
Preheat the oven to 180C / 350F. If you'd like you can brush the dough in an egg wash* now (leave this step out if vegan), then bake for 25-30 minutes, or until golden. Remove and cool on a wire rack before serving. The bread will keep well for a couple of days in a sealed container.