In a medium bowl, whisk together lime juice, orange juice, soy sauce, olive oil, minced garlic, cumin, chili powder, smoked paprika, oregano, salt, and black pepper until fully combined.
Pat the skirt steak dry, cut into 2–3 sections if needed, then place in a zip-lock bag or shallow dish. Pour the marinade over the steak, massage to coat, seal, and refrigerate for 1–4 hours (do not exceed 8 hours). Remove from the fridge 30 minutes before cooking.
Finely dice the white onion (rinse under cold water if desired for milder flavor), roughly chop the cilantro, cut limes into wedges, crumble the cotija cheese, and slice any optional toppings. Arrange everything in small bowls for easy assembly.
Heat a cast iron skillet over medium-high heat for 2 minutes until very hot, then add 1 tablespoon of oil. Remove steak from marinade, let excess drip off, and sear without moving for 3–4 minutes per side until internal temperature reaches 130°F (54°C) for medium-rare or 140–145°F (60–63°C) for medium.
Transfer steak to a cutting board, tent loosely with foil, and rest for 5 minutes. Slice thinly against the grain, then cut into bite-size ½-inch pieces.
Heat a dry skillet over medium-high heat and warm tortillas one or two at a time for 30–45 seconds per side until hot and lightly charred in spots. Stack in a clean kitchen towel or tortilla warmer to keep soft. Double up two tortillas per taco before filling.
Spoon a generous amount of carne asada onto two stacked warm tortillas, then top with diced white onion, cilantro, and cotija cheese. Squeeze fresh lime juice over each taco, add salsa, and serve immediately.