Step 1: In a medium bowl, toss together the onion, 2 tablespoons of olive oil, vinegar, 1/2 teaspoon salt, and 1/4 teaspoon pepper. Cover and chill until ready to serve.
Step 2: Preheat a 12-inch cast-iron skillet over medium-high heat. Rub the steak all over with 1 1/2 teaspoons salt and 1/2 teaspoon pepper.
Step 3: Add 1 teaspoon olive oil to the heated skillet and swirl to coat. Place the steak in the skillet and cook, undisturbed, for about 5 minutes per side, until a brown crust forms.
Step 4: Transfer the steak to a cutting board and let it rest for 10 minutes. While the steak rests, mix lime juice, orange juice, soy sauce, chopped serrano, garlic, 3/4 teaspoon salt, 1/4 teaspoon pepper, and 1 tablespoon olive oil in a bowl. Reserve 1/4 cup of this marinade.
Step 5: Cut the steak against the grain into thin slices. Transfer the slices to a baking dish and pour the remaining marinade over them. Cover and chill for 1 hour.
Step 6: Remove the onions from their pickling liquid and set aside. Transfer the steak slices to a serving platter. Drizzle with the reserved 1/4 cup marinade and garnish with the pickled onions, avocado slices, and additional sliced serrano peppers. Sprinkle with flaky sea salt.
Step 7: Serve the steak with tostadas on the side and enjoy your meal!