In the bowl of a large food processor fitted with a blade or a large bowl, add flour and salt. Pulse or mix to combine. Add the diced butter and pulse until the pieces are no larger than a pea. If mixing in a bowl, use a dough blender, forks, or your fingers to cut in the butter. Slowly mix in water just until dough comes together. All the water may not be necessary and do not overmix.
Wrap the dough in plastic and gently flatten into a large rectangle. Make sure it is completely covered and refrigerate until chilled, 30 minutes to overnight.
Preheat oven to 400 degrees F. Line a large baking sheet with parchment or lightly grease. In a small bowl, beat the egg with milk to form egg wash.
In a large bowl, toss together diced beef, onion, potatoes, and carrots. Stir in the salt, pepper, olive oil, thyme, and rosemary.
Divide the chilled pastry dough into 6 (for large) or 12 (for medium) equal pieces. Place half of the pieces back in plastic and refrigerate to keep chilled as you work on first few pasties. Roll one of the remaining pieces into a thin circle, 9 inches wide for large or about 4 inches for medium.
Spread 1 cup for large or 1/2 cup for medium of the filling over one side of the circle, leaving enough room around the edges to seal. Brush the edges with the egg wash and fold the pastry over to cover the filling. Press around the edges to seal. Use a fork to crimp the edges or pull and roll the edges inward with your fingers to create a rolled decorative pattern. Place on prepared baking sheet and repeat with remaining dough.
Brush the tops of the prepared pasties with egg wash and bake in preheated oven until golden brown, 40 to 45 minutes.
Serve immediately.