Preheat the oven to 425˚. Heat 1 tablespoon olive oil in a medium saucepan over medium-high heat. Add the onion and cilantro stems and cook, stirring, until softened, 3 to 4 minutes. Add the rice and stir to coat. Add 1 1/2 cups water, 1/2 teaspoon salt and a few grinds of pepper and bring to a boil. Cover and reduce the heat to low. Cook until the liquid is absorbed and the rice is tender, about 15 minutes. Remove from the heat and let stand, covered, 5 minutes. Fluff with a fork.
Meanwhile, pour the tomatoes into a 9-by-13-inch baking dish and roughly crush them with your hands. Mix in the remaining 3 tablespoons olive oil, chopped cilantro, olives, garlic, 1/2 teaspoon salt and a few grinds of pepper. Chop 1 pickled jalapeño and stir it into the sauce. Season the fish with salt, pepper and the chili powder. Place skin-side down in the dish and spoon some of the sauce on top.
Bake until the fish is cooked through and the sauce is bubbling, 15 to 20 minutes. Divide the rice and fish among plates. Serve with lime wedges and the remaining pickled jalapeños and carrots.