Melt one tablespoon butter in a large sauté pan over medium heat; add onions and salt. Cook until golden brown and caramelized. Add garlic; cook for one minute, or until garlic is soft. Deglaze pan with white wine, and then heat until reduced by half.
Meanwhile, blanch green beans in salted boiling water. Plunge green beans into an ice bath. Drain beans, and then toss in pan with onions until beans are coated with onions and wine reductions. Transfer mixture to a 9 x 13-inch casserole dish. Set aside.
For the sauce, melt remaining two tablespoons butter in saucepan; add flour and cook, while whisking for a couple of minutes over medium heat, or until mixture is golden brown. Slowly whisk in milk, and cook until thickened. Add mustard, Cheddar cheese and two tablespoons Parmesan cheese; stir until melted. Add salt, pepper and a few dashes of hot sauce to taste.
Pour cheese mixture over beans and onions. Press down with spoon to create an even layer.
On a floured surface, roll out puff pastry to size of casserole dish. Cover dish with puff pastry, folding the edges over the side. Brush egg wash over puff pastry; sprinkle with remaining Parmesan cheese and black pepper.
Place dish on a baking sheet and bake in 400°F oven for 20-25 minutes, or until golden brown.