Spray a 9x13-inch dish.
Mix hash browns, 2 cups cheese, sour cream, soup, butter, and onion in a large bowl.
Spread evenly in dish; top with bacon.
Whisk eggs, milk, salt, pepper, and garlic powder in a medium bowl.
Pour evenly over potatoes; top with remaining 1 cup cheese.
Cover with foil; refrigerate at least 2 hours or overnight.
Heat oven to 350°F; bake covered 40 minutes, then uncovered 15 minutes until golden and bubbly.
Rest 10 minutes before cutting.
To freeze after step 5, cover tightly with plastic and foil; freeze up to 3 months. Thaw completely refrigerated (24 hours), then bake as directed in step 7.