Combine water and salt in a large stock pot; bring to a boil. Grasp each lobster just behind the eyes, and plunge headfirst into boiling water. Return to a boil; cover and boil 5 minutes for first pound, 3 more minutes for each additional pound. Remove lobsters from water with kitchen tongs; plunge into cold water. Drain.
Lay cooked lobster, back side up, on a wooden cutting board. Tuck the tail underneath the body; insert the tip of a large sharp knife into the joint where the head and tail portions come together. Split the tail sections into two halves.
Turn the lobster around, and cut through the head portion, dividing the lobster into two separate pieces. Remove and discard the greenish-gray stomach pouch and the sand sac from the head.
Remove the tail meat and all the white meat from the body of the lobster. Crack the claws, and remove all meat. Coarsely chop the lobster meat, and set aside. Break away and discard the body portion of the shell. Rinse and thoroughly drain the tail section of the shell, and set tail aside.
Melt 1 cup butter in a large heavy saucepan over low heat; add flour, stirring until smooth. Cook 1 minute, stirring constantly. Gradually add milk; cook over medium heat, stirring constantly, until thickened and bubbly. Remove from heat; gradually stir one-fourth of hot mixture into yolks. Add to remaining hot mixture, stirring constantly. Return to medium heat; cook, stirring constantly, until sauce is smooth and thickened. Set aside.
Sauté mushrooms and onion in remaining butter in a large skillet. Add lobster meat, and cook over medium heat, stirring frequently, until thoroughly heated. Gently fold lobster mixture into sauce.
Place lobster shells in a 2 1/2- quart shallow baking dish; spoon lobster mixture into and around shells. Sprinkle generously with cheese; broil 6 inches from heating element 1 minute or until cheese is lightly browned. Serve immediately.