Whisk together all dressing ingredients. Set aside.
For noodles, heat oil in a large skillet over medium-high heat until shimmering. Add onion and garlic and cook till softened, 2 minutes. Add half the cabbage and half the carrots. Cook for 3 minutes. Stir in shrimp, cook through, and put in a bowl.
Return the skillet to high. Pour in the stock, soy sauce, and fish sauce. Bring to a boil. Add the vermicelli and reduce heat to medium. Simmer, tossing constantly until noodles soften and liquid reduces to about 1/4 cup, about 5 minutes. Return the shrimp mixture to the pan. Cook, tossing, until most of the liquid has evaporated, 3 minutes. Add pepper. While noodles are still warm, toss in half the lemon-chili dressing. Let cool.
To serve, toss the grape tomatoes and remaining cabbage and carrots with the remaining dressing; arrange on a large platter. Top with the noodle mix. Garnish with scallions.