In a shallow glass baking dish, make a marinade by combining the orange and lime juices, orange and lime zests, shallots, and 1 tablespoon of the oil. Score the skin of the fish in a diamond pattern. Add the fish to the marinade and turn once to coat. Cover and refrigerate for 30 minutes, turning the fish occasionally.
Preheat the oven to 425 F. Lightly coat a shallow baking dish with cooking spray.
In a blender or small food processor, combine the garlic, basil, mint, thyme, the remaining 1 tablespoon of oil, 1/4 teaspoon of the salt, and 1/4 teaspoon of the pepper. Pulse to puree. In a small bowl, combine half of the herb paste with the leek. Toss gently to mix.
Sprinkle the leek mixture evenly over the bottom of the prepared baking dish. Top with the tomato slices, arranging them in a single layer. Sprinkle the tomatoes with the remaining 1/4 teaspoon salt and 1/4 teaspoon pepper. Remove the fish from the marinade and pat dry. Discard the marinade. Rub the remaining herb paste over the fish, coating both sides. Place the fish on top of the tomatoes and cover the dish tightly with aluminum foil.
Roast the fish for 30 minutes, then uncover and roast until the fish is opaque throughout when tested with the tip of a knife, 10 to 12 minutes longer. Lift the fish from the baking dish and place on a large platter. Divide the vegetables among 4 warmed individual plates. Peel the skin from the top of the fish, remove the top fillet, and divide it between 2 of the plates. Lift out the center fish bone and discard. Lift the second fillet and divide it between the remaining 2 plates. Serve immediately.