In a mixing bowl, combine the flour and a pinch of salt. Add the vegetable oil and water, stirring until a rough dough begins to form. Add a little extra water if needed.
Transfer the dough to a lightly floured surface and knead for 5 to 6 minutes until smooth and elastic. Shape into a ball, cover, and let rest at room temperature for 30 minutes.
Meanwhile, place the potatoes in a saucepan of salted water. Bring to a boil, then reduce the heat and cook until tender, about 8 to 10 minutes. Drain well.
Heat olive oil in a large skillet over medium heat. Add the onion and mushrooms, seasoning lightly with salt and pepper. Cook until softened and lightly browned, about 10 to 12 minutes.
Stir in the garlic and cook for another minute until fragrant. Remove from the heat.
Add the cooked potatoes to the mushroom mixture and mash lightly while combining. Mix in half of the chopped dill and adjust seasoning to taste. Allow the filling to cool slightly.
Roll the rested dough as thinly as possible on a floured work surface. Cut out approximately 16 circles using a round cutter.
Place about 1 tablespoon of filling in the center of each dough circle. Lightly moisten the edges with water, fold over to create a half-moon shape, and press firmly to seal.
Bring a large pot of salted water to a gentle boil. Cook the pierogi in batches until they rise to the surface, about 2 to 3 minutes. Remove with a slotted spoon and drain briefly.
Melt the butter in a large skillet over medium heat. Add the boiled pierogi and cook until crisp and golden on both sides, about 3 to 4 minutes per side.
Serve warm with sour cream and the remaining fresh dill sprinkled on top.