For rough puff pastry, sift flour and a pinch of salt onto a clean surface, scatter with butter, then cut butter into flour with a pastry scraper until roughly mixed. Make a well in centre, add 185ml iced water, mix with pastry scraper until a dough starts to form. Divide pastry into two, wrap with plastic wrap, refrigerate to rest (20 minutes). Working with one pastry half at a time, roll on a lightly floured surface into a 1.5cm-thick rectangle. Fold shortest ends to meet in the centre, then fold, from the same direction, in half again. Cover with plastic wrap, refrigerate to rest (20 minutes), then repeat process twice more for each half.
Preheat oven to 150C. Remove legs, shoulders, belly and loins from rabbits with a boning knife, set carcass aside (see note). Heat half the oil in a large casserole over medium-high heat, cook legs, shoulders and belly in batches, turning occasionally, until brown (4-5 minutes). Remove, set aside. Add onion to casserole, sauté over medium heat until tender (8-10 minutes). Add carrot, celery and spices, sauté until tender (5-6 minutes). Return meat to casserole, add wine. Cover, cook in oven until meat falls off the bone (1¾-2 hours). Set aside to cool to room temperature. Coarsely shred meat (discard bones), return meat to casserole.
Cut loins into 2cm-pieces. Heat remaining oil in a large frying pan over high heat, add loins, sauté until just browned (1-2 minutes), add to casserole. Return pan to high heat, add mushrooms and sauté until just browned (2-3 minutes), then add to rabbit mixture, season to taste, stir to combine, set aside to cool.
Roll two-thirds of pastry on a lightly floured surface to 6mm-thick and line the base of a 25cm-pie dish. Spoon in rabbit mixture, roll remaining pastry to 6mm-thick and cover. Press edges to seal, trim excess pastry, pierce a hole on top, refrigerate to rest (30 minutes).
Meanwhile, preheat oven to 180C. Brush pie with eggwash, bake until golden (45-50 minutes). Stand for 10 minutes before serving.