Cook the elbow macaroni according to the package directions until tender. Drain well and set aside so excess water doesn’t thin the sauce.
In a medium saucepan over medium heat, melt the butter. Whisk in 2 tablespoons flour and cook for 1 to 2 minutes, whisking constantly, until it smells lightly toasty and looks smooth.
Slowly whisk in the milk. Add garlic powder, onion powder, salt, and black pepper. Simmer 3 to 4 minutes, whisking often, until the sauce thickens enough to coat a spoon.
Turn off the heat. Stir in the mozzarella and Parmesan until fully melted and glossy. Fold in the cooked macaroni until evenly coated. Let the mixture cool 15 to 20 minutes so it firms up for shaping.
Scoop portions of the cooled mac and cheese and roll into bite-size balls. Set them on a parchment-lined plate or sheet pan. (If they feel soft, chill a bit longer so they hold their shape.)
Set up a breading station: place 1/4 cup flour in one shallow bowl, beaten egg in a second bowl, and mix bread crumbs plus panko in a third bowl. Roll each ball in flour, then egg, then press into the crumb mixture until fully coated.
Lightly spray the outside of the breaded balls with vegetable oil spray. Preheat the air fryer to 375°F.
Arrange the balls in a single layer in the air fryer basket with space between them. Air fry 8 to 10 minutes at 375°F, flipping halfway, until the crust is deep golden brown and crisp. Cool 2 minutes before serving so the center sets slightly.