Remove the stems and seeds from the ancho, guajillo and pasilla chiles.
Heat a large skillet (preferably cast iron) over medium-high heat and toast the chiles in batches until they just start to darken and become shiny, 10 to 20 seconds per side. Remove the chiles to a large bowl. When all of the chiles are toasted, pour boiling water over them to cover and let stand until soft, about 30 minutes.
Puree the chiles with the chipotles, adobo sauce and 1/2 cup soaking water in a blender until smooth. (Reserve the remainder of the soaking water.)
Cook the bacon in a large Dutch oven over medium heat until crisp, then drain on paper towels. Pour off the oil from the skillet and add the vegetable oil.
Sprinkle the beef all over with some salt and pepper. Working in batches, brown the beef in the fat over medium-high heat, 3 to 4 minutes per batch, and remove to a plate as it browns.
Reduce the heat to medium low and add the onions to the drippings in the pan. Cook, stirring occasionally, until the onions are almost tender, about 6 minutes.
Add the garlic and continue to cook, 2 minutes more. Add the cocoa, cumin, oregano and paprika and stir to coat the onion, about 1 minute. Increase the heat to high and add the chile puree. Cook until slightly thickened, 2 to 3 minutes.
Add the stout, bring to a boil and boil until reduced by about a quarter, about 3 minutes. Add the beef and bacon. Pour in the stock and add enough reserved chile soaking water or additional water (about 2 cups), to cover the meat by about 1 inch. Set the cover ajar and simmer over low heat, stirring occasionally, until the meat is tender, 3 1/2 to 4 hours.
Serve the chili in bowls garnished with onion, scallions, sour cream and cilantro.
Some recipes for Texas-Style Chili thicken it at the end with a few tablespoons of masa harina or cornmeal. If you uncover and increase the heat to reduce the chili at the end of the cooking time, this isn't necessary.