For the potato topping: Peel and cube the potatoes into 1-inch dice. Put in a large pot and add enough cold water to cover the potatoes by 1 inch. Season the water with salt and bring to a boil. Boil the potatoes until tender, about 10 minutes. Drain the potatoes and pass through a ricer. Add the milk, sour cream, melted butter and egg yolks to the potatoes and stir with a wooden spoon until smooth. Season with salt and pepper and reserve.
For the filling: Preheat the oven to 375 degrees F.
In a medium saute pan over medium heat, melt the butter with the olive oil. Add the pearl onions and cook, shaking the pan occasionally so the onions brown on all sides, until caramelized, about 5 minutes. Set aside.
In a large ovensafe shallow braising pan, heat the canola oil over medium-high heat. Add the onions and rosemary and cook, stirring often, until the onions are slightly browned and soft, 3 to 5 minutes. Add the lamb and season with salt and pepper. Continue to cook until the lamb cooked through, 4 to 6 minutes. Add the tomato paste, flour and sherry vinegar and cook for 2 more minutes. Add the chicken stock, peas and carrots and pearl onions and bring to a boil. Season with salt and pepper and stir in the parsley.
For the additional topping: Top the lamb mixture with an even layer of the potato topping. Drizzle with the melted butter and sprinkle with the Parmesan. Transfer to the oven and bake until the topping is lightly browned, about 40 minutes. Garnish with additional parsley.