Preheat the oven to 350?F.
Roast the chile peppers by placing them on an open gas flame, turning them frequently with tongs until all sides are charred black, 7 to 10 minutes. (Alternatively, the peppers can be roasted under a broiler or on top of a gas or charcoal grill.) Place the blackened peppers in a bowl and cover with plastic wrap. Let rest until cool enough to handle, about 15 minutes. Peel the peppers, split in half lengthwise, and discard the seeds and stems.
Grease a 9 x 13-inch baking dish with the butter. Spread the poblanos in a flat layer across the bottom of the dish.
In a large skillet, cook the sausage over medium-high heat, stirring to break up the meat, until browned. Add the onions and bell peppers and cook, stirring, for 4 minutes. Add the garlic and chili powder and cook, stirring, for 1 minute. Remove from the heat.
In a separate skillet, heat about 1 teaspoon of vegetable oil over medium-high heat. Add 1 tortilla and cook until softened, about 30 seconds per side. Remove from the pan and cut into quarters. Add more oil to the pan and repeat with the remaining tortillas.
Combine the eggs, half-and-half, hot sauce, salt, and black pepper in a large bowl and whisk. Combine the green onions, cilantro, and cheeses in a medium bowl and mix well.
Spoon one-third of the sausage mixture over the poblanos in the baking dish, top with one-third of the tortilla quarters, and then one-third of the cheese mixture. Repeat the layering, ending with a cheese layer. Pour the egg mixture over the ingredients. Let rest, covered, in the refrigerator for at least 6 hours, or overnight.
Bake the casserole, uncovered, until bubbly and golden brown, and a knife inserted into the custard comes out clean, about 1 hour and 10 minutes. Remove from the oven and let rest 10 minutes before serving. Serve with the salsa and sour cream.
Makes about 10 servings