Heat a grill or grill pan over high heat.
Warm the flour tortillas by wrapping them in aluminum foil and placing them on the top rack of the grill while the steak cooks.
Brush the skirt steak on both sides with 2 tablespoons canola oil and season generously with salt and freshly ground black pepper.
Grill the steak over high heat until the first side is golden and slightly charred, about 3–4 minutes, then flip and grill 3–4 minutes more for medium-rare.
Remove the steak and let it rest 5 minutes, then slice against the grain into 1/4-inch-thick slices.
While the steak cooks, make the grilled tomato salsa: heat a small skillet over medium-high heat with 2 tablespoons canola oil and a little extra oil for brushing the tomatoes.
In the hot skillet, sauté the serrano chiles, coarsely chopped small red onion, and peeled garlic cloves until softened, 2–3 minutes.
Brush the halved, seeded plum tomatoes with oil and season with salt and pepper, then grill them (directly on the grill or on the grill pan) until slightly charred and soft on both sides.
Transfer the grilled tomatoes and the serrano/onion/garlic mixture to a food processor; add lime juice, chopped cilantro, and salt and pepper to taste, and process until smooth. Transfer salsa to a bowl.
Assemble the tacos: divide sliced steak among warmed tortillas and top with shredded romaine, sliced red onion, diced avocado, a spoonful of sour cream, and grilled tomato salsa.