Preheat your oven to 375°F (approx. 190°C). Line a baking sheet with parchment paper.
Take your sheet of puff pastry out of the freezer and set aside to thaw.
Place the mushrooms in the bowl of a food processor and pulse until crumbly, 10–11 times. Do not over process.
Heat 2 Tbsp. of the oil in a large skillet over medium-high heat. Add the onion and sauté until soft, 3–4 minutes. Lower the heat to medium and add the garlic. Sauté for an additional 2 minutes.
Add the mushrooms and balsamic vinegar and cook, stirring occasionally, until most of the liquid from the mushrooms has evaporated, 10–12 minutes.
Push the mushroom mixture to the side of the skillet and add 1 Tbsp. of oil to the center. Add the water chestnuts, if using, and the thyme, sage, salt, and pepper and sauté until the herbs are fragrant, about 1 minute. Add the spinach and stir until wilted. Incorporate this spinach mixture into the mushroom mixture. Turn off the heat and add more salt and pepper to taste. (Allow this mixture to cool at least 10 minutes before adding to the puff pastry.)
Roll out the puff pastry on a lightly floured flat surface so the pastry extends an additional 1–2 inches (2.5–5 cm) in each of the four directions. Transfer to your parchment-lined baking sheet.
Add the mushroom mixture to the center of the pastry and form into a loaf shape. Fold both of the long sides up to meet in the center and pinch to seal the two together. Cut about an inch (2.5 cm) of the excess pastry from the two short ends and set those pieces aside. Then, fold the short ends up and over the top of the Wellington. Gently turn the loaf over so all seams are now underneath.
Place the two scraps of pastry that were trimmed from the ends side by side and then overlap the pieces to create a pretty design to add to the surface of the Wellington. Be sure to pinch the top and bottom of the braid to secure it.
Using a very sharp knife, score two rows of 1-inch (2.5-cm) diagonal slits across the top of the Wellington. Pierce each side with a fork a few times, as well. .
Optional: Lightly brush a small amount of non-dairy milk over the entire surface of the Wellington. This makes the Wellington a light golden brown and a bit more tender so it's easily sliceable without excess flaking. But if you desire a Wellington darker in color, skip this step
Bake for 40 minutes, rotating the baking sheet at the 20-minute mark. Let rest 10 minutes before slicing into thick slices.