Make the filling: Heat 2 tablespoons vegetable oil in a large skillet over medium-high heat. Add garlic and ginger and cook for about 30 seconds until fragrant.
Add cabbage, carrots, water chestnuts (if using), and green onions. Stir-fry for 5–7 minutes until the vegetables are softened but still a little crisp.
Thicken: In a small bowl, whisk cornstarch with cold water to make a slurry. Pour into the vegetables and stir well. Cook 1–2 minutes until the filling lightly binds together.
Remove from heat and let the filling cool completely (this helps prevent soggy egg rolls).
Wrap: Place an egg roll wrapper on a clean surface like a diamond (a corner pointing toward you). Add about 3 tablespoons cooled filling to the center. Fold the bottom corner up over the filling, fold in the left and right corners, then roll tightly toward the top corner. Seal the edge with a little water. Repeat with remaining wrappers.
Heat the oil: Pour frying oil into a deep pot or wok so it’s about 2–3 inches deep. Heat to 350°F (175°C).
Fry: Carefully fry 3–4 egg rolls at a time (don’t crowd the pot) for 3–4 minutes, turning as needed, until evenly golden and crisp.
Drain & serve: Transfer to paper towels or a wire rack to drain. Sprinkle with sesame seeds if desired. Serve hot with sweet chili sauce or peanut sauce.