Melt butter in large cast iron skillet or large saute pan. Add bacon pieces and gently cook until golden brown. Remove from pan onto paper towels and set aside.
Add onions, garlic and herbs into pan. Gently cook for 8-10 minutes, until translucent and fragrant. Add the lamb pieces and salt and pepper. Cook until brown all over.
Once the lamb pieces are browned, sprinkle the flour over the mixture and add the bacon back into the pan. Stir to incorporate completely.
Add the chicken stock and stir well to incorporate. Bring mixture to a boil and reduce to a simmer. Cook on simmer for an hour, stirring regularly to keep mix from sticking to the bottom of pan. Check the lamb with a fork to ensure fork-tender texture. Cook for another 30 minutes ensuring a thick gravy and a tender lamb consistency.
While the lamb mixture is cooking, make the pie dough.
In the bowl of a food processor, combine flour, salt and butter. Process until the butter and flour resemble small peas.
Crack 3 of the eggs and whisk. Add whisked eggs to the flour mixture while running. Just as the dough comes together turn it off.
Add 2 tablespoons of the ice water to the flour mixture and run the processor until a dough ball comes together.
Lightly flour your work surface and turn out the dough and gently bring together to create a ball. Separate the dough into two balls. Wrap in plastic wrap and refrigerate for at least an hour (see note at the bottom for additional information).
Once the lamb mixture is completely cooked and fork tender, spread out on a sheet pan to cool. While still warm, add the lemon zest and mix to incorporate. Allow to cool completely.
Once lamb mixture is completely cool mix in goat cheese and set aside. Preheat oven to 350 degrees F.
Take one of the dough balls and roll out to 1/4" thick. Using rolling pin, wrap rolled out dough around the rolling pin and gently lay out dough across the top of cake pan. Gently tuck the dough all the way down pressing gently into the bottom of the pan. Cut off excess dough from around the top and save.
Using a fork, gently prick the bottom of the dough as well as the sides. Bake for 7 minutes just to prime the dough. Allow to cool slightly.
Add half of the cooked lamb mixture to the bottom of par-baked dough. Evenly spread asparagus over the top of the lamb mixture.
Top with the remaining half of the cooked lamb mixture. Using the other dough ball, roll out the same way as for the bottom of the pie.
Crack remaining egg, whisk, and gently brush on the edge of the par-cooked dough. Load rolled dough onto rolling pin then over the top of the filled lamb pie. Trim off excess dough and save.
Gently tuck dough down the sides of the cake pan to adhere to the bottom par-cook dough. Use your fingers and crimp together. At this point you can leave the pie with the crimped edges or you can use your dough scraps and create optional designs on the top. If you choose to leave it undecorated, continue by making a 1" cut in the middle.
Brush top with remaining egg wash and bake for 35-45 minutes or until golden brown on top.
Server warm or let cool completely and take on a family picnic or special date. Finish with a salad, dollop of sour cream or horseradish glazed carrots.