Make the sauce. Spread out the tomatoes or tomatillos, the chiles and the onion onto a rimmed baking sheet and roast under a preheated broiler until blackening and soft on one side (about 6 minutes), then flip everything over and roast on the other side. Cool and, if using tomatoes, slip off their blackened skins. Scrape everything (including any juices) into a blender jar and process until nearly smooth (a little texture preserves the beautiful homemade quality of the sauce). Heat the oil in a large (4-quart) saucepan over medium-high. When hot enough to make a drop of the puree sizzle sharply, add it all at once and cook, stirring nearly constantly, until nearly as thick as tomato paste, 8 to 10 minutes. Stir in the chicken broth and crema (or one of its stand-ins), then simmer for a few minutes to bring the flavors together. The sauce should be the consistency of a light cream soup: if thicker, add a little more broth; if thinner, simmer a little while longer. Taste and season with salt, usually about 1 ½ teaspoons, cover and keep warm over low heat.
Finish the Enchiladas. Heat the oven to 400 degrees. Stir about ½ cup of the sauce into the chicken to moisten it, then warm it in a small saucepan or in the microwave oven at 100% power for about 1 minute. Brush or spray both sides of each tortilla with a light coating of oil, slide them into a plastic bag, fold the bag over (but don’t seal) and microwave at 100% power for 1 minute. Let stand one minute.
Smear a couple tablespoons of sauce over the bottom of each of four to six 9-inch ovenproof baking/serving dishes or smear a scant cup over the bottom of a 13 x 9-inch baking dish. Two or 3 at a time, lay hot tortillas on the countertop, top each with a portion of chicken, roll up and lay into the baking dish(es). Douse evenly with the remaining sauce, then sprinkle with the cheese. Bake until the cheese is beginning to brown and serve right away, garnished with onion rings and cilantro.