Bring 1 inch of water to a simmer in a large pot. Place potatoes in a steamer basket, cover and steam over medium-low heat, replenishing the water as necessary, until the potatoes are fall-apart tender, 20 to 30 minutes.
Meanwhile, working in two batches, place mushrooms in a food processor and pulse, stopping to scrape down the sides as needed, until the mushrooms are coarsely chopped.
Transfer the potatoes to a large bowl. Add butter and mash until chunky-smooth. Gradually stir in buttermilk, egg and egg white and 1 teaspoon salt. Set aside.
Heat oil in a large skillet over medium heat. Add shallots and garlic and cook, stirring, until fragrant and beginning to soften, about 1 minute. Add the mushrooms and cook, stirring often, until they release their liquid and the pan is almost dry, 10 to 12 minutes. Add chard (or spinach) and continue to cook, stirring, until wilted, about 4 minutes. Whisk broth and flour in a small bowl. Add to the pan along with the remaining 1/4 teaspoon salt, pepper and rosemary. Cook, stirring, until the mixture bubbles and thickens, about 1 minute.
Preheat oven to 400°F.
To assemble, spread half of the mashed potatoes in an even layer in a 9-by-13-inch (or similar 3-quart) baking dish. Sprinkle half the Parmesan over the potatoes. Spread the mushroom mixture on top and spread the remaining potatoes over the mushroom layer. Top with the remaining Parmesan.
Bake until hot throughout and the top is golden brown, about 35 minutes.
MAKE AHEAD INSTRUCTIONS: Assemble through Step 6, cover and refrigerate for up to 1 day. Bake, uncovered, in a 400°F oven until hot, 50 minutes to 1 hour. To reheat, bake, covered, at 350° until hot, 40 to 50 minutes.