In a large mixing bowl, whisk together the flour, sugar, yeast, and salt. Make a well in the center.
In a small bowl, whisk together the milk, butter, egg, and vanilla extract, then add to the center of the bowl. Use a wooden spoon to stir everything together. The dough will be sticky, but should come together. Add more flour a tablespoon at a time if needed.
Turn the dough out onto a floured work surface and knead until smooth and elastic, about 5 minutes.
Place into an oiled bowl, cover with plastic wrap, and allow to rise until doubled in size, about 1 hour.
With the dough still in the bowl, add the raisins, orange zest, cinnamon, cloves, and nutmeg. With your hands, knead everything into the dough, making sure it is well distributed. Cover the bowl and allow to rise again until doubled in size, another 1 hour.
Turn the dough out onto a work surface and divide into 15 even pieces. Roll each piece into a smooth ball and place at least 1 ½ inches apart on a half sheet pan that has been lined with parchment paper or a silicone baking mat. Cover loosely with plastic wrap and allow to rise until the rolls are puffed, about 1 hour.
Preheat oven to 425 degrees F.
Make the Cross Paste: In a small bowl, stir together the flour and 5 tablespoons of water. Add the water 1 tablespoon at a time; use only enough to make a very thick paste. Spoon the paste into a piping bag or resealable plastic bag and snip off the end. Pipe the paste down and across each row to make a cross on top of each roll.
Bake until golden brown and the internal temperature registers 195 degrees F, about 15 to 20 minutes.
Prepare the Glaze: Heat the jam in a small saucepan over low heat or, alternatively, in the microwave in 30-second bursts until melted. Strain through a fine-mesh sieve to remove chunks, then brush over warm hot cross buns.
Serve buns warm or at room temperature.
Notes
Bread Flour: The higher protein content creates a chewier texture and helps the rolls hold up to all of the raisins and zest. You can substitute all-purpose flour if that's all you have, but the texture will be a bit different.
Yeast: Instant yeast makes this a breeze to make, however you can use an equal amount of active dry yeast if necessary. It will need to be activated: warm the milk, sprinkle the yeast over and let sit for 10 minutes. Then mix with the rest of the wet ingredients and proceed with the rest of the recipe. Please note rise times may be a bit longer.
Raisins: You can substitute currants, dried cranberries, dried cherries, or just about any other dried fruit you'd like!
Spices: I've included my preferred mix of spices, but feel free to play around with your favorites.
Cross Paste: Baking the cross into the tops of the buns is the most traditional method, but you can also pipe a cross on after baking with a simple sugar glaze - mix together powdered sugar and a little bit of milk (thick enough for a piping consistency) and pipe onto cooled buns.
Make-Ahead Instructions: You can shape the buns, place on the baking sheet, then cover with plastic wrap and refrigerate overnight. Remove from the refrigerator 2 hours before you plan to bake them. Once risen, pipe with the cross paste and proceed with the recipe as written.
Freezing Instructions: These freeze beautifully! Allow to cool completely, then wrap individually in plastic wrap and place in a zip-top freezer bag. Freeze for up to 3 months. Thaw at room temperature or pop in the microwave.