Place the peeled and cubed potatoes in a large pot and cover with cold water by about an inch. Add salt, bring to a boil, then simmer for 15-18 minutes until fork tender.
While potatoes cook, heat olive oil in a large sauté pan over medium heat. Add onion, carrots, and celery and cook for 6-8 minutes until softened. Add garlic and cook 30 seconds until fragrant.
Push vegetables to one side and add ground turkey to the pan. Cook for 6-7 minutes, breaking it apart, until no longer pink. Stir together and season with salt and pepper.
Sprinkle flour over the meat and vegetables and stir constantly for about a minute. Stir in tomato paste and Worcestershire sauce. Slowly pour in stock, scraping up browned bits. Add thyme and frozen peas and carrots.
Simmer for 5-7 minutes, stirring occasionally, until the mixture thickens into a gravy that coats the back of a spoon. Taste and adjust seasoning. Remove from heat.
Drain the potatoes and return to the hot pot. Add butter and mash until mostly smooth. Gradually add warm milk, mashing between additions, until creamy. Stir in egg yolk if using, and season with salt and pepper.
Preheat oven to 400°F (200°C). Spread turkey filling evenly in your baking dish. Spoon mashed potatoes over the top and spread to cover completely, sealing the edges. Use a fork to create ridges and sprinkle with cheddar cheese if using.
Place dish on a baking sheet and bake for 20-25 minutes until filling is bubbling and topping is golden brown. For extra color, broil for the last 2-3 minutes, watching closely.
Remove from the oven and let rest for 10 minutes before serving. This allows the filling to set slightly so it holds its shape when scooped.