Remove the stems and seeds from the dried chiles. Heat a large skillet (preferably cast-iron) over medium-high heat and toast the dried chiles in batches until they just start to darken and become shiny, 10 to 20 seconds per side. Remove to a large bowl. When all of the chiles are toasted, pour boiling water over them to cover. Let stand until soft, 30 minutes.
Drain the dried chiles and transfer to a blender along with 1/2 cup of the soaking water (reserve the rest of the soaking water). Add the chipotles and adobo sauce and puree until smooth.
Cook the bacon in a large Dutch oven over medium heat until crisp, then drain on paper towels. Pour off the drippings from the pot and discard. Add the vegetable oil to the pot and increase the heat to medium high. Season the beef all over with salt and pepper. Working in batches, add the beef to the pot and cook, turning, until browned, 3 to 4 minutes; remove the beef to a plate as it browns.
Reduce the heat to medium low and add the onions to the drippings in the pot. Cook, stirring occasionally, until the onions are almost tender, about 6 minutes. Add the garlic and cook 2 more minutes. Add the cocoa powder, cumin, oregano and paprika and stir to coat the onions, about 1 minute. Increase the heat to high and stir in the chile puree. Cook until slightly thickened, 2 to 3 minutes.
Add the stout, bring to a boil and cook until reduced by one-quarter, about 3 minutes. Return the beef and bacon to the pot. Add the beef broth and enough of the reserved chile soaking water or additional water (about 2 cups total) to cover the meat by 1 inch. Partially cover the pot and simmer over low heat, stirring occasionally, until the meat is tender, 31/2 to 4 hours.
Skim off any fat from the top of the chili; season with salt and pepper. Serve the chili in bowls and top with sour cream, scallions and cilantro.