Scale fish and remove its innards, leaving the belly intact. Break the spine near the tail and right below the head.
Through the fish's neck, insert a long, thin spatula between the skin and the flesh, all the way to the tail. With the spatula, gently go around the sides of the fish to loosen and separate the flesh from the skin. Remove the spatula.
Starting from the tail, squeeze and push the flesh out through the neck. Pull the flesh, including the big bone, out of the fish. Insert a long spoon into the cavity and gently scrape the inside to remove any flesh left, making sure to leave skin and head firm and intact.
In a shallow dish, combine the hollowed skin, lemon juice and soy sauce. Marinate in the refrigerator for about 30 minutes.
Remove the big bone (spine) from the flesh. In a pot, bring about 1 cup lightly salted water to a boil. Add the fish meat and cook for about 3 to 5 minutes or until color changes. Drain from liquid. Flake and debone fish meat.
In a a skillet over medium heat, heat oil. Add onions and garlic and cook until softened.
Add carrots and cook for 1 to 2 minutes or until tender yet crisp. Add fish meat, green peas, and raisins. Cook, stirring occasionally, until heated through.
Add oyster sauce and stir to combine. Season with salt and pepper to taste.
Remove from pan and allow to cool completely. In a large bowl, combine the fish mixture and egg.
Using a spoon, stuff and fill the fish mixture into the skin. Sew the head to the body and any openings to prevent the filling from spilling.
In a shallow dish, combine flour, salt and pepper to taste. Lightly dredge stuffed fish in flour to coat.
In a wide, deep pan over medium heat, heat about 3 inches deep of oil (enough to deep-fry fish fully submerged). Add fish and cook, gently turning on sides as needed, until golden and crisp.
Remove from pan and drain on paper towels. Let stand and allow to cool before slicing.