In a large skillet, heat olive oil over medium-high heat.
Season chicken with salt and black pepper. Add to skillet and cook, turning once, until browned, about 12 minutes.
Transfer chicken to a large baking dish and pour off the fat in the skillet.
Add olive oil to the same skillet, along with onion. Cook over medium-high heat, stirring occasionally, until onion has softened, about 5 minutes.
Add garlic and cook until fragrant, about 2 minutes. Add tomatoes and their juices, the chipotle and the broth and bring to a boil.
Simmer over moderate heat, stirring occasionally, until slightly reduced, about 20 minutes.
Preheat the oven to 175°C / 350°F.
Transfer the sauce to a food processor and let cool for 15 minutes. Puree until smooth and season with salt and black pepper.
Pour the sauce over the chicken. Bake chicken, uncovered, in preheated oven until the meat is tender and the sauce is thick and darkened around the edges, about 45 minutes. The chicken should have reached an internal temperature of 75°C / 165°F.
Wrap tortillas in foil and warm them in the oven for about 10 minutes.
Remove the chicken from the sauce and shred the meat; discard the bones. Return the chicken meat to the sauce.
Spoon chicken onto each tortilla and sprinkle with cotija cheese.
Garnish tacos with chopped cilantro and serve.