Combine the soy sauce, fish sauce, brown sugar, garlic, lime juice, ginger, and 1 tbsp of canola oil in a food processor or blender. Blend until smooth.
Place the tofu in a container. Pour the marinade over the tofu. Cover and refrigerate for at least 4 hours or overnight.
For the soup, in a large pot heat 1 tbsp of coconut oil over medium-high heat. Add in the onion and cook for 3-4 minutes or until they are tender and translucent. Add in the garlic and curry paste. Cook for another 2-3 minutes or until the mixture is fragrant.
Pour in the coconut milk, soy sauce, lime juice, fish sauce, and vegetable broth. Bring the soup to a boil, and then reduce the heat and simmer for 15 minutes.
Cook the rice noodles according to the package directions. Drain and set aside. (You may want to toss them in a little bit of oil, so they do not stick together)
Drain the tofu into another container to save the marinade. Put the tofu into a medium bowl and toss it in the cornstarch. Heat the remaining 3 tbsp of canola oil in a large frying pan. Cook the tofu for 4-6 minutes, tossing occasionally or until all sides are golden brown. Depending on the size of your pan, you may have to do this step in batches. Remove the tofu from the pan and set aside.
Using the same pan, heat the remaining 1 tbsp of coconut oil. Brush the reserved marinade on the cut side of the baby bok choy. Place them face side down into the pan and cover. Cook over medium heat for 5-8 minutes or until they are tender.
Assemble the bowls. Divide the noodles and tofu between four serving bowls. Place two baby bok choy halves into each bowl. Pour the soup over top. Garnish with cilantro and green onion if desired.