Mashed potatoes: Boil potatoes in salted water until tender. Drain, steam dry 30–60 seconds, mash with butter and warm milk. Pepper and keep warm.
Panade: Mix breadcrumbs + milk, rest 5–10 minutes.
Onion: Sweat onion in 2 tbsp butter until soft; cool slightly.
Meatballs: Mix pork, beef, onion, panade, eggs, salt, pepper, allspice, nutmeg (and Dijon if using) just until combined. Roll into 1-tbsp balls.
Brown: Pan-fry meatballs in batches with oil + butter until golden; set aside.
Gravy: Add 3 tbsp butter, whisk in flour 60–90 seconds. Whisk in stock, add Worcestershire, soy sauce, Dijon. Simmer until thickened, stir in cream.
Finish: Return meatballs to sauce, simmer gently 5–8 minutes until cooked through. Serve over mashed potatoes.