Preheat the oven to 325 F. Coat a 5-by-9-inch loaf pan with olive oil. Heat remaining olive oil in a skillet over medium heat. Cook onion, stirring, until soft, 6 to 8 minutes. Set aside.
Pulse the turbot and tilapia in a food processor until finely chopped, not smooth.
Beat eggs with a whisk for about 1 minute. Mix in the onion, fish mixture, cold water or stock, matzah meal, sugar, lemon juice and zest, salt, and some pepper until well combined. Mix in dill.
Transfer mixture to pan. Smooth top using a spatula. Cover with parchment-lined foil, and transfer to a large roasting pan. Pour enough boiling water into a glass casserole to come halfway up the sides of the loaf pan. Bake until terrine is firm in the center, about 45 minutes. Remove pan from water. Let cool for 10 minutes. Wipe the fish fat off the top of the gefilte fish and drain the fish juice out of the pan.
Let cool completely and cover with plastic wrap and refrigerate or freeze.