In a bowl, combine the onions, oil, orange and lime juices, cilantro, garlic, salt, cumin, and cayenne. Place the fish in a large, non-reactive baking dish. Pour the marinade over the fish, cover and refrigerate for up to 1 hour.
Preheat a grill, and lightly oil the grill rack with vegetable oil. Remove the fish from the marinade. Place on the oiled grill and cook, skin side up, until marked, 45 seconds to 1 minute. Turn carefully with a spatula and cook, skin side down, until the fish is just cooked through, about 4 minutes, depending upon thickness. Remove from the grill.
Spoon the coconut rice into the center of 4 large plates. Arrange 1 fillet onto each serving of rice and top with the Tropical Salsa. Garnish with toasted coconut and cilantro, and serve.
In a saucepan, combine the coconut milk, water, salt, and sugar. Bring to a boil. Add the rice, stir well, and reduce the heat to medium-low. Cover and simmer undisturbed until the liquid is absorbed and the rice is fluffy, about 20 to 24 minutes. Remove from the heat and let sit without stirring for 10 minutes.
Fluff with a fork and add the cilantro. Adjust seasoning, to taste. Serve hot.
Combine the mango, avocado, pineapple, onions, bell peppers, cilantro, lime juice, jalapeno, garlic, and salt in a bowl and gently fold to combine. Adjust seasoning to taste. Let sit for 30 minutes before serving for the flavors to blend.