01 - Cook elbow macaroni in salted boiling water according to package directions. Drain and set aside.
02 - Melt butter in a saucepan over medium heat. Add flour and stir for 1 minute. Slowly whisk in milk until smooth. Simmer, stirring often, until thickened, about 3 to 4 minutes.
03 - Off heat, stir in cheddar cheese, mozzarella cheese, Dijon mustard, salt, and black pepper until fully blended and smooth. Fold in cooked macaroni. Cool to room temperature, then refrigerate until firm, about 20 minutes.
04 - Peel yellow onions and cut into ½-inch thick slices. Separate into large, sturdy rings. Reserve smaller rings for other uses.
05 - Fill onion rings with cooled mac and cheese, pressing gently to level. Arrange stuffed rings on a lined tray and freeze for at least 30 minutes until solid.
06 - Place flour in one bowl. Whisk eggs with 2 tablespoons milk in a second bowl. Combine panko breadcrumbs and paprika in a third bowl.
07 - Coat each stuffed onion ring in flour, then dip in egg mixture, then coat thoroughly with panko mixture. Gently press breadcrumbs for an even crust.
08 - Heat oil in a deep fryer or heavy pot to 350°F. Fry onion rings in small batches for 2 to 3 minutes per side until golden and crisp. Drain on paper towels and sprinkle lightly with salt.
09 - Present hot, accompanied by your chosen dipping sauce.