Preheat the air fryer. Set it to 390°F (200°C). Let it heat while you mix the meatballs so they crisp right away.
Soak the breadcrumbs. In a small bowl, combine breadcrumbs and milk. Let them hydrate for 2–3 minutes.
This keeps the meatballs tender.
Make the meatball mixture. In a large bowl, combine ground chicken, ground pork, eggs, soaked breadcrumbs, garlic, green onions, ginger, soy sauce, sesame oil, salt, and pepper. Mix gently with your hands or a fork until just combined. Don’t overwork it.
Shape the meatballs. Scoop 1.5 tablespoons per meatball (a small cookie scoop helps).
Roll lightly with damp hands to form 1.25–1.5 inch balls. You’ll get about 24–28 meatballs.
Air fry in batches. Spray the basket with oil. Arrange meatballs in a single layer with space between them.
Lightly mist the tops with oil. Cook for 10–12 minutes, shaking halfway, until the outsides are golden and the internal temperature hits 165°F (74°C).
Cook the noodles. While the meatballs cook, boil noodles according to package directions. Reserve 1/3 cup of the starchy water.
Drain the rest.
Make the sauce. In a bowl, whisk soy sauce, oyster sauce, rice vinegar or lime juice, honey, and a pinch of chili flakes. Stir in the reserved noodle water to loosen.
Toss noodles with sauce. Return noodles to the pot, pour in the sauce, and toss over low heat for 1–2 minutes until glossy. Add a handful of spinach or snap peas if using, and warm until just tender.
Combine and serve. Add the hot meatballs over the sauced noodles.
Finish with green onions, sesame seeds, a drizzle of chili oil, and lime wedges if you like.
Taste and adjust. Add a splash more soy for salt, extra vinegar for brightness, or honey for balance. Serve immediately.