Preheat the oven to 350 degrees. Grease a 9x13 baking dish.
Get the bacon cooked to crispy in a large skillet over medium low. Set bacon aside. Remove most the bacon grease leaving behind 1 tablespoon. Add in the onions and garlic and cook about 3-4 minutes or until the ovens are translucent.
In a small bowl, melt the butter until it's mostly melted. Allow it to cool*. Then add the egg and sour cream. Whisk until smooth.
In a large bowl add the flour, cornmeal, baking powder, salt ,and sugar.
Add the wet ingredients into the dry ingredients: butter/egg mixture, whole kernel corn, and the cream-style corn. Add in the cooked onions and garlic, half the bacon, and 1 cup of cheese. Stir until everything is evenly combined, making sure to scrape any cornmeal from the bottom.
Transfer the mixture into a greased 9x13 baking dish, smoothing into an even layer. Bake for 35 minutes or until a toothpick inserted in the center comes out clean.
Remove from the oven, top with white cheddar and remaining bacon. Bake for another 5-7 minutes or until cheese has melted. Top with green onions.