Roast the Hatch or Anaheim chiles under the broiler until blackened, about 5 minutes per side. Place the chiles in a paper sack or plastic food-storage bag, close it tight and let the chiles steam for 20 minutes. After the chiles have steamed, remove from the bag and rub off the skin. Remove the stems and seeds from both the chiles and cut into thin, inch-long strips.
Meanwhile, while the chiles are roasting and steaming, if using fresh ears of corn, remove the kernels with a knife. If you don’t have a preferred corn-removal method, here’s mine: I like to lay the cob horizontal on the cutting board with the cob pointing away from me. While holding the cob in one hand, I place a 10-inch knife down the length of one side of the cob and slice off the kernels. I then rotate the cob, placing the newly cut flattened side on the board for stability and keeping it pointed away from me, I repeat until all the kernels are off the cob. I can usually remove the corn from each cob in 4 to 5 cuts.
Once you’ve removed all the kernels, if you’re feeling ambitious you can make a quick corn broth. (If it’s too hot to have a pot going on the stove for 20 minutes, or you’re not using fresh corn, skipping this step and using chicken broth is fine, too.)
To make the corn broth, take 4 of the cobs (discarding the rest), and one at a time, stand each cob upright in a 3-quart pot and run the flat side of a knife down the cob to extract all the corn milk. Once you’ve done that for all the cobs, lay the cobs in the pot along with the onion, bay leaf, and salt. Pour in 4 cups of water, bring to a boil, then simmer on low for 20 minutes, and then turn off the heat and strain the broth. You should have about 3 cups. If you have more than that, you can either reduce it or save it for another use. If you have less than 3 cups, just add water until you have that amount.
To make the soup, in a 3-quart pot melt 1 tablespoon of the butter on medium-low heat. Add the onions and cook until translucent, about 5 minutes. Add the garlic and cook for 30 more seconds.
Turn off the heat and transfer the onions and garlic to a blender. Add to the blender 3 cups of the corn kernels (reserving the remaining 1 cup), cumin, cayenne, nutmeg, and 2 cups of broth. Blend until smooth, which depending on your blender can take anywhere from 30 seconds to 4 minutes. That said, if the corn is tough, it might never get velvety smooth. If that’s the case, you can either leave it a little lumpy or strain the puree through a mesh strainer.
Melt the remaining 1 tablespoon of butter in the pot on medium-low heat and pour in the corn puree. Cook for 2 minutes while occasionally stirring, then add the final 1 cup of broth, the reserved 1 cup of corn, the green chiles, the half and half, and the buttermilk. Cook for 3-5 more minutes or until the soup is warm and the corn is tender. Taste and adjust seasonings, adding salt and pepper to taste.
Serve warm topped with queso fresco and with limes on the side for additional flavor, if desired. Alternatively, you can refrigerate the soup for at least 4 hours, and enjoy it chilled.