In a large mixing bowl or bowl of a stand mixer, whisk together ½ cup (60 g) flour, instant yeast, and 1 teaspoon sugar. Pour in the warm milk and stir until combined. Let sit for 10 minutes to allow the yeast to activate.
To the same bowl, add 2 eggs and one egg yolk, remaining sugar, and salt. If using a stand mixer, use the dough hook to stir to combine or use a spatula.
Gradually add the remaining flour, stirring until a sticky dough forms. Knead on medium speed for 5 minutes or until the dough is no longer very sticky.
Knead in the softened butter, one piece at a time, until fully incorporated and the dough becomes soft and elastic.
Gently fold in the raisins or any add-ins you’re using, along with the citrus zest if using.
First Rise: Place the dough in a greased bowl, cover with a damp towel, and let rise in a warm place for 1.5-2 hours, or until doubled in size.
Grease two tall molds (about 3 inches tall, such as a panettone mold or coffee can, see notes for more options).
Divide the dough into 2 pieces, shape into smooth balls and place them in the molds.
Second Rise: Cover lightly and let rise for 1-1.5 hours, until the dough reaches 80-90% of the mold’s height.
Preheat the oven to 350°F (180°C). Bake for 40–50 minutes, until golden brown and a skewer inserted in the center comes out clean. The internal temperature should be 200-205°F (93-96°C) when done.
Let the kulich cool in the mold for 10 minutes, then carefully remove or peel off the paper mold, and cool completely before glazing.