Whisk together the olive oil, soy sauce, lemon juice, garlic, chilli flakes, black pepper, ginger, spring onion and salt in a bowl. Add the mahi mahi and toss to evenly coat. Cover the bowl with plastic wrap and marinate in the refrigerator for 1 hour.
Preheat the grill and set the oven rack in the middle of the oven.
Bring the rice, water, chicken stock cube and 1 tablespoon butter to a boil in a saucepan over high heat. Reduce heat to medium-low, cover and simmer until the liquid has been absorbed, about 20 minutes. Pour in the coconut milk and 2 tablespoons of sugar. Stir and simmer uncovered until the rice has absorbed most of the coconut milk.
While the rice is cooking remove the mahi mahi from the marinade and shake off excess. Discard the remaining marinade. Place fish in a large baking dish in a single layer. Grill in the preheated oven until the fish flakes easily with a fork, 10 to 15 minutes. If the fish browns too quickly, cover the baking dish with a sheet of aluminium foil.
Melt 1 1/2 teaspoons butter and 1 1/2 tablespoons of sugar in a frypan over medium-high heat. When the mixture begins to bubble stir in mango cubes. Cook and stir until mango is tender, about 5 minutes. Serve by placing a mahi mahi fillet over a scoop of hot rice and top with the mango salsa.