Preheat oven to 400 degrees.
Melt 2 tbsp butter in a large skillet over medium heat. Stir in mushrooms and onion and cook undisturbed for about 5 minutes, then stir once and continue to cook another 5 minutes until mushrooms release their juices and soften. Toss in garlic and cook for one minute, then swirl in tomato paste until fairly evenly distributed.
Mix in maple syrup, soy sauce, Worcestershire sauce, paprika, beef broth, and black pepper. Bring to a gentle simmer and cook at least 10 minutes but ideally 20-30, until the sauce thickens and the mushrooms and onions darken.
Slice choice bread loaf in half. Pull some of the bread from the inside of the top of the loaf to make room for the filling. Lift mushrooms and onions with tongs or a spatula from the gravy and spread evenly along the bread. Reserve the gravy and keep on low heat, it will continue to thicken.
Slice mozzarella into 3-4 rounds and place atop the mushrooms. Sprinkle parmesan, reserving a couple tablespoons. Place the top of the loaf over the bottom, melt the remaining 1 tbsp butter, and brush over the top, then add the rest of the parmesan.
Wrap sandwich in foil and bake 15 minutes, then remove the foil and bake another 12-15 minutes until brown and toasty. Let cool slightly, then cut into 4-6 sandwiches. Garnish with parsley. Pour gravy into a bowl and serve!