In a large heavy saucepan, heat the butter and oil over medium heat. Add the onions and cook for 4 to 5 minutes, until slightly golden. Add the poblanos and the garlic and cook for 2 minutes more, until the aroma of the garlic is released. Add the tomatoes, fish broth and bay leaf. Increase the heat to high and bring the mixture to a boil. Add the potatoes, bring back to the boil, and decrease the heat so the mixture is simmering. Cover the pan and simmer the soup for 15 minutes, or until the potatoes are tender but not falling apart. Stir in the milk and simmer for 5 minutes more, then add the corn kernels, corn rounds, shrimp, salt and pepper and simmer for an additional 4 minutes. Taste for seasoning and serve in heated bowls, sprinkled with a few leaves of cilantro.
Fresh chiles and bell peppers can be roasted over a gas flame or on a tray under the broiler. Keep turning so the skin is evenly charred, without burning and drying out the flesh. Transfer the charred peppers to a plastic bag, tie the top closed and let steam until cool to the touch, about 15 minutes. (If you are rushed, you can place the bag in a bowl of iced water to speed things up.) The best way to peel is just to pull off the charred skin by hand and then dip the peppers briefly in water to remove any blackened bits. Do not peel the pepper under running water since that will wash away flavorful juices. Once peeled, cut away stems, seeds and veins.