If you have a gas stove, lay one poblano at a time over high heat, turning occasionally, until the skin is black on all sides, about 8 minutes. Repeat with each poblano. Alternatively, turn on the oven to high broil. Once heated, place poblanos on the top rack and broil until the skin is black on all sides, about 8 minutes. Place in a heatproof bowl, cover with plastic wrap, and set aside until chiles are cool enough to handle, about 10 to 15 minutes. Peel off skins, remove seeds, and cut chiles into large dice.
Heat oil in a medium frying pan over medium heat. Add onion, seasoning well with salt and freshly ground black pepper, and cook until tender and translucent, about 5 to 7 minutes. Set aside.
Butter a 13-by-9-inch baking dish; set aside. In a large bowl, combine bread, poblanos, sour cream, onion, salsa, and cilantro until everything is coated in sour cream. Put mixture into the baking dish and set aside.
Whisk eggs with half-and-half in a separate large bowl; season with kosher salt and a good amount of freshly ground black pepper. Pour custard over bread mixture. Cover and refrigerate strata overnight.
Heat oven to 350°F Remove strata from the refrigerator about 20 to 30 minutes before you plan to bake it. Bake strata until it is puffed, golden brown, and slightly set in the center, about 50 to 55 minutes. Top with salsa and sour cream, as desired. Serve hot.