Bring 1 1/4 es water to a simmer in a large pot.
Place potatoes in a steamer basket, cover and steam over medium or medium-low heat, replenishing the water as necessary, until the potatoes are fall-apart tender, 20 to 30 minutes(or you can use steamer).
At the same time, put mushrooms in a food processor and pulse, working in two batches and stopping to scrape down the sides as needed, until the mushrooms are coarsely chopped(or you can use knife to chop).
Then transfer the potatoes to a large bowl.
Add butter and use a folk to mash until chunky smooth.
Slowly stir in buttermilk, egg and egg white and 1 teaspoon salt. Mix well.
Set aside.
Heat oil in a large skillet over medium heat.
Add shallots, garlic and cook, stirring, until fragrant and starting to be soft, about 1 minute.
Then add the mushrooms and cook, stirring often, until mushrooms release their liquid and the pan is almost dry, about 12 minutes.
Add Swiss chard and go on cooking, 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, black pepper to taste and rosemary.
Cook, stirring, until the mixture bubbles and thickens, about 1 1/2 minutes.
Preheat oven to 400°F.
To assemble, spread half of the mashed potatoes in an even layer in a 9-by-13-inch (or 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 or more.
Cool lightly and serve warm.