Place potatoes in a large pot and cover with cold water; season with 1 tablespoon salt. Bring to a boil, then reduce heat to medium-low and simmer until potatoes are tender, 18 to 20 minutes.
Drain potatoes and return to pot. Mash with a potato masher or food mill. Cut 1/2 cup (1 stick) butter into large pieces, then add to potatoes. Add 1/4 cup cream and stir to combine: season with salt and pepper.
Arrange a rack in center of oven; preheat to 425°. In a large, ovenproof skillet over medium heat, melt 2 tablespoons butter. Add leek and celery and cook, stirring occasionally, until softened and just beginning to turn golden on the edges, 6 to 8 minutes. Add garlic and oregano and cook, stirring, until fragrant, about 1 minute more. Sprinkle with flour and mix to combine. Cook, stirring occasionally, until flour has slightly toasted, and you can no longer smell raw flour, 1 to 2 minutes.
Whisk in stock and remaining 1/4 cup cream and bring to a boil. Immediately reduce heat to medium-low, bring to a simmer, and cook, stirring occasionally, until slightly thickened, 5 to 6 minutes.
In a small bowl, whisk egg yolk and lemon juice. To temper, add 1 tablespoon stock mixture and stir to combine, then continue to add more stock 1 tablespoon at a time until mixture is smooth.
Add yolk mixture to skillet and stir to combine. Fold in dill and peas. Cook, stirring occasionally, until peas are warmed through, about 3 minutes, season with salt and pepper. Remove from heat.
Season fish with salt and pepper, then fold fish into sauce. Cover fish mixture with mashed potatoes, then make ridges in potatoes with a fork. Cut remaining 4 tablespoons butter into small pieces and sprinkle over potatoes.
Place skillet on a baking sheet (to avoid any bubbling over). Bake fish pie until potatoes are lightly golden brown, 20 to 25 minutes.
Let pie set 10 minutes. Top with more dill.