Turn oven to broil.
Place the poblano peppers on a sheet pan and cook directly under broiler, turning occasionally, until blackened on all sides, 6 to 8 minutes total. Remove from the oven. Once cool enough to handle, chop and set aside, skin on. Alternatively, you can char the Poblano peppers over an open flame on the stove.
Adjust oven to 425°F.
Heat the butter in a cast iron skillet over medium-high heat. Add onion and roasted peppers to the skillet and cook until onion is softened, about 5 minutes.
Shred the various cheeses and top the onion and pepper mixture with the cheese. Add the milk and stir everything to combine.
Fill a roasting pan or baking dish halfway up with hot water. Place the skillet inside of the water bath and transfer to the oven. Bake until the cheese is melted and gooey, 20 to 25 minutes. Serve immediately.