Preheat your oven to 325°F (163°C). Pat the short ribs completely dry with paper towels, then season all sides generously with kosher salt and black pepper.
Heat 2 tablespoons of oil in a Dutch oven over medium-high heat until shimmering. Sear the short ribs in batches, bone-side up, for 4 to 5 minutes per side until deeply browned, then transfer to a plate.
Tear the ancho and guajillo chiles into pieces and toast them in the hot Dutch oven for 30 seconds per side over medium heat. Cover with boiling water and soak for 10 minutes until softened, then reserve the soaking liquid.
Cook the chopped onion in the remaining fat over medium heat for 5 to 6 minutes until softened, then add the smashed garlic and cook for 2 more minutes. Stir in the tomato paste, cumin, dried oregano, and smoked paprika and cook for 1 minute.
Transfer the sauteed aromatics, rehydrated chiles, 1/2 cup of reserved chile soaking liquid, fire-roasted tomatoes, and apple cider vinegar to a blender and puree until completely smooth. Pour the sauce back into the Dutch oven, add the beef broth and bay leaves, and stir to combine.
Nestle the seared short ribs into the braising liquid bone-side up, bring to a gentle simmer, then cover and braise in the preheated oven for 3 to 3.5 hours until the meat is completely tender and falling off the bone.
Remove the short ribs, discard the bay leaves, and skim excess fat from the braising liquid. Shred the beef with two forks, discard bones, then return the meat to the pot and simmer uncovered for 10 to 15 minutes if the sauce needs thickening.
Heat a dry cast iron skillet over medium-high heat and warm the corn or flour tortillas for 30 seconds per side until pliable and lightly charred. Stack and wrap in a clean kitchen towel to keep warm.
Place two warm tortillas per serving, top generously with the saucy shredded short rib beef, then finish with shredded red cabbage, diced onion, cilantro, cotija cheese, crema, pickled red onions, and avocado. Serve immediately with lime wedges.