Pour milk into a small pot and warm over low-medium heat until the milk is mildly warm (about 20 - 25 degrees C). Add cardamom, sourdough starter, and yeast (if using) - stir contents and set aside for 10 min.
In a large mixing bowl, whisk butter for appr. 1 min. Gradually add sugar to the bowl whilst whisking at low speed. Pour milk/starter mixture into bowl and gently combine with your spatula or wooden spoon. Add flour and salt to the mix and combine until flour is fully incorporated.
Knead dough on a clean surface and shape into a round ball. Return shaped dough into large bowl. Cover the bowl with a plastic film or clean kitchen cloth, and refrigerate overnight. NB: I refrigerated mine for 14 hours... but it’s totally up to you.
Prepare your filling by whisking all ingredients (except poppy seeds) in a small bowl until the texture is light and fluffy.
When ready to bake, set your oven to 225 degrees C. Remove dough from the fridge and pour out onto a clean floured surface. Divide dough into two equal halves. Roll out each half into large equally sized rectangular ‘sheets’. On one half only, spread your filling evenly across the rolled out dough. Sprinkle poppy seeds (if using) over the spread-out filling. Carefully, place the other half of the dough on top of the ‘filling pasted’ dough. Sort of like creating a sandwich with the filling in the middle.
Shape your buns as you please. There are several links online, as well as youtube videos demonstrating the various ways you can shape your buns.
Place buns on a lined baking sheet. Whisk your egg wash ingredients together and brush each bun on all sides. Bake in oven for 12-15 minutes - until golden brown.