Put the chicken in a medium pot with 3 cups water, the broth, garlic, bay leaves and cilantro; season with salt. Cover and bring to a boil over medium-high heat. Reduce the heat to medium low and gently simmer, turning the chicken as needed, until cooked through, about 30 minutes. Transfer the chicken to a plate to cool. Discard the bay leaves and cilantro and reserve the broth and garlic.
Meanwhile, preheat the broiler. Put the tomatoes and chiles on a foil-lined baking sheet and broil, turning, until charred, about 12 minutes. Wrap in the foil to catch any juices, then cool slightly. Peel the chiles and transfer to a blender with the tomatoes and collected juices. Remove the garlic from the broth, add to the blender and puree until smooth.
Heat 2 tablespoons vegetable oil in a pot over medium heat. Add the diced onion and cook, stirring, until golden, about 3 minutes. Increase the heat to medium high and stir in the tomato-chile puree and 1/2 teaspoon salt. Cook, stirring, until the sauce is thick, about 15 minutes. Stir in 3 cups of the reserved broth and bring to a simmer. Partially cover and cook about 20 minutes. Add 1 teaspoon salt; keep the sauce warm. *note- it took me a lot longer than 20 minutes, more like 40 to thicken this sauce. Cook it until it feels like sauce to you. It can be runny, but should not be thin.
Discard the chicken skin and shred the meat. Toss the chicken with the crema and 1/2 teaspoon salt in a bowl. Soak the sliced onion in a bowl of cold water while you prepare the enchiladas.
Preheat the oven to 375 degrees F. Spread 1 cup of the tomato-chile sauce in a 9-by-13-inch baking dish. Heat 1/2 cup vegetable oil in a skillet over medium-high heat. Fry a tortilla until puffed, about 15 seconds per side, turning with tongs. Quickly spoon 2 tablespoons chicken onto the tortilla, roll it up and put seam-side down in the baking dish. Fry and fill the remaining tortillas, arranging them side by side in the dish.
Pour 2 cups of the tomato-chile sauce over the enchiladas and top with the queso fresco. Bake until warmed through, about 20 minutes. Drain the sliced onion and scatter over the enchiladas. Divide among plates and top with more cilantro, sauce and crema, if desired.