Preheat oven to 375℉.
Melt butter over medium heat in a large cast iron skillet.
Add diced onion and cook until translucent, about 3-4 minutes.
Sprinkle flour in the pan and stir to combine with onions and butter. Cook for about a minute to cook off the raw flour taste.
Whisk in chicken broth to combine.
Whisk in milk to make a smooth gravy.
Bring to a simmer and cook until sauce thickens.
Add the diced ham, frozen peas and carrots, sliced mushrooms, and the chopped rosemary.
Stir to combine and cook over medium heat until heated through, about 3-4 minutes.
Taste and season with salt and pepper.
Roll out puff pastry dough and using a sharp knife, cut dough into small rectangle shapes.
Place the rectangles on top of the ham filling in the skillet to cover, forming a top crust.
Brush puff pastry dough with milk.
Transfer skillet to preheated oven.
Bake for 35-45 minutes or until crust is golden brown and filling is bubbly and piping hot.
Remove from oven and let rest for 10 minutes before serving.