Pat roast dry. Season all sides with 1 teaspoon salt, pepper, garlic powder, and onion powder. Rest at room temperature 10 minutes.
Heat olive oil in a large skillet over medium-high heat. Sear roast on all sides until deeply browned, about 2 to 3 minutes per side. Transfer to a plate.
Add 1/2 cup broth to the hot skillet, scraping up all browned bits. Simmer 1 to 2 minutes and remove from heat.
Place half the onions, half the mushrooms, and all the garlic in the bottom of the slow cooker. Set roast on top. Scatter remaining onions and mushrooms around the roast.
Whisk together remaining 1 cup broth, Worcestershire, tomato paste, soy sauce, remaining 1/2 teaspoon salt, and deglazing liquid. Pour around the roast.
Cover and cook on HIGH for 2 hours, then reduce to LOW and cook an additional 3 1/2 to 4 hours until beef is very tender and pulls apart easily.
Transfer roast to a platter. Remove about half the onions and mushrooms with a slotted spoon and reserve for sandwiches. Skim fat from cooking liquid. Pour into a saucepan and simmer uncovered 10 to 15 minutes until slightly thickened but still dip-friendly. Stir in butter and optional Worcestershire. Adjust seasoning.
Pull roast into large loose chunks. Spoon a small amount of jus over the beef to keep it moist.
Split hoagie rolls and lightly toast. Pile beef loosely onto each roll. Add reserved onions and mushrooms. Top with provolone and broil just until melted.
Serve immediately with small bowls of warm jus for dipping.