Preheat your oven to 400˚F.
Heat a pan over medium high heat. Melt the unsalted butter so that it coats the bottom of the pan. Once the butter has melted, add in the shallots and cook until translucent. Then add in the garlic and continue cooking until fragrant.
Add in the cremini mushrooms and cook until the pan is dry and the mushrooms are no longer releasing water. Then stir in the spinach. Mix until everything is combined. Add in the mascarpone, dill, lemon juice, kosher salt, and black pepper to the bowl. Mix with a rubber spatula until combined. Set the mixture aside to cool.
Lightly flour a sheet of parchment paper. Add the puff pastry on top and roll it out into a rectangle about 12.5 inches long and 9.5 inches wide.
Spread the spinach and mushroom mixture into the center of the puff pastry, keeping it about the same size and shape as the salmon. Add the salmon on top of the spinach and mushroom mix. Fold in the sides of the puff pastry, wrapping up the salmon completely. Flip it over so that the seam side is down.
Use a knife to score lines, spaced 1 inch apart, all the way down the puff pastry. Then score lines down the pastry in the opposite direction, crossing over the initial scoring. Lift the parchment paper with the salmon onto a baking sheet. If your puff pastry has gotten too soft and sticky, place the salmon into the freezer for 10 minutes.
In the meantime, mix together the egg and milk to create an egg wash. When the salmon has finished chilling remove it from the freezer and use a pastry brush to coat the puff pastry with the egg wash. Place the tray into the oven for about 25-30 minutes. The salmon should reach an internal temperature of 135˚F and the puff pastry should be golden brown and flaky.
When the salmon has fully cooked, remove it from the oven and allow it to stand for 10 minutes before slicing. Enjoy!