Prep the dish: Heat oven to 375°F (190°C). Grease a 9x13-inch baking dish with butter.
Cook the bacon: Add chopped bacon to a large skillet over medium heat.
Cook until crisp, about 7–9 minutes. Transfer to a paper towel-lined plate. Leave 1 tablespoon of bacon fat in the skillet.
Sauté the vegetables: In the same skillet, add onion and bell pepper.
Cook until soft and slightly golden, 4–5 minutes. Set aside to cool slightly.
Layer the base: Spread the thawed, patted-dry hash browns in the baking dish. Sprinkle with a pinch of salt and pepper.
Scatter the sautéed onion and pepper over the potatoes.
Add bacon and cheese: Sprinkle the crispy bacon over the veggies. Top with cheddar and mozzarella in an even layer. Reserve a tablespoon of bacon for garnish if you like.
Make the egg mixture: In a large bowl, whisk eggs, milk, garlic powder, smoked paprika, salt, and black pepper until smooth.
Stir in green onions.
Combine: Pour the egg mixture evenly over the potato, bacon, and cheese layers. Dot the top with small pieces of butter for extra browning.
Bake: Place the dish on the center rack and bake 35–40 minutes, or until the edges are set, the center is just barely jiggly, and the top is lightly golden. If the top browns too quickly, tent loosely with foil.
Rest and serve: Let the casserole rest 10 minutes before slicing.
Garnish with extra green onions and reserved bacon. Serve warm.