Soak the corn in the milk for 15 minutes. Preheat the oven to 350 degrees. Generously butter a 1 quart baking dish. Melt the 2 tablespoons of butter in a saucepan over medium heat. Whisk in the flour; cook it for 2 to 3 minutes, stirring. Drain the corn and whisk the reserved milk into the flour mixture. Simmer it until slightly thickened, about 5 minutes. Remove the pan from the heat and whisk in the eggs. Stir in the corn, salt, pepper, and bacon. Pour the corn mixture into the prepared pan and sprinkle the cheese on top. Bake it until brown on top and firm to the touch, about 45 minutes. Let it cool for 10 minutes before spooning it into bowls and topping it with green onions.