Heat a large cast-iron skillet, without any oil, on high heat. When the pan is very hot (about 3 to 4 minutes; a drop of water will sizzle away instantly), put in the garlic, onion, and tomatoes. Stirring every few minutes, cook the onion and garlic until they brown on all sides and become fragrant, about 10 minutes. (The garlic may be removed earlier.) Move the tomatoes around with tongs until they blacken and most of the skin is blistered. Remove and reserve the vegetables.
Reduce the heat to medium and add the butter or oil to a new skillet that's just large enough to hold the chicken. Season the chicken with salt and pepper and cook in the skillet on the skin side to brown it and to render the fat from the skin, about 15 minutes. Turn the chicken over and cook on the bone side for about 5 minutes. Remove and reserve the chicken. Drain the fat from the pan.
Pull the skin off the tomatoes, remove the cores and stem, and cut the tomatoes in half crosswise; gently squeeze out their seeds. Put the garlic, onion, tomatoes, and chipotle chile in a blender and purée to a smooth sauce, about 2 minutes (You should have about 1-1/4 cups sauce.) Pour the sauce back into a large skillet (it will just cover the bottom), and then add the chicken pieces back to the pan as well. Simmer the chicken gently in the sauce, covered, until cooked through, 25 to 30 minutes. Transfer the chicken to wide soup plates. Season the sauce with salt and spoon it over the chicken. Pass the cilantro, jalapeños, lime wedges, and sour cream in separate little bowls at the table for guests to sprinkle over the chicken.