Heat large skillet over medium heat. When pan is hot, add diced bacon. Cook bacon until crisp, then transfer to plate lined with paper towels and set aside. Discard rendered bacon fat or save for another use (like bacon gravy).
Spray bottom and sides of Crockpot insert with spray oil. Layer half of frozen hashbrowns in bottom of Crockpot insert, then top hashbrowns with 1 ½ cups shredded cheese and ⅓ cup chopped onions. Top onion layer with half of cooked bacon. Repeat layers in same order until all ingredients have been added to Crockpot.
Crack eggs directly into large mixing bowl. Add half and half, garlic powder, salt, and black pepper, and whisk until mixture is fully combined and no longer streaky.
Pour egg mixture evenly over casserole layers in Crockpot. Cover with Crockpot lid and set to low for 8 hours. After 8 hours, check doneness of casserole to ensure eggs are fully cooked. Add additional time as needed, cooking no more than 9 hours total.
When casserole is cooked through, serve immediately or set Crockpot to warm and serve when ready.
Bacon: You can use 1 pound of breakfast sausage in place of the bacon. Brown and crumble the breakfast sausage, then drain and continue with the recipe as written.
Make it Vegetarian: If you like, you can leave out the bacon altogether for a vegetarian version. Or use veggie sausage or bacon in place of the meat!
Make it Dairy Free: Use dairy free cheese and non-dairy milk or half-and-half. I like Ripple's Half and Half.