Heat 3 tablespoons olive oil over medium heat in a large, deep saucepan. Add onions and toss to coat with oil. Cook, stirring often, until softened, about 15 minutes. Add half the butter. Cook and stir until onions start to brown, about 15 minutes more.
Stir sugar and 1/2 teaspoon salt into the onions in the pan. Continue to cook, stirring once halfway through, until onions are well-browned, 10 to 15 minutes more. Mix in garlic and cook for 1 minute more.
Stir half the water into the pan, scraping bits from the bottom. Let simmer for 3 minutes; repeat with remaining water. Simmer for 3 minutes more and repeat. Add vermouth; scrape bits from the bottom and sides of the pan. Cook for 4 minutes more. Add stock, Worcestershire sauce, soy sauce, thyme, and bay leaf. Simmer for 10 minutes; do not boil. Add black pepper. Discard bay leaf. Remove pan from heat and allow soup to cool. Pour into the slow cooker, but don't turn it on.
Trim any excess fat from the rump roast. Sprinkle all sides with salt and pepper. Heat remaining 2 tablespoons olive oil in the pan over high heat. Cook the meat, holding it down with tongs, until browned on all sides, about 10 minutes. Transfer meat carefully to the slow cooker. Spoon the soup over the meat so that it is topped with a few onions. Cover and cook on Low for 4 hours.
Remove meat from the slow cooker. Slice it diagonally and return slices to the slow cooker. Continue to cook on Low for 2 hours more.
Preheat the oven to 175 degrees C. Spread rolls with remaining 2 tablespoons butter; place face-down on a baking tray.
Bake rolls in the preheated oven until beginning to brown, 8 to 10 minutes. Remove from the oven, flip, and sprinkle with Gruyere cheese. Set oven rack about 15cm from the heat source and turn on the oven's grill. Grill rolls until cheese is slightly bubbly and lightly browned, 2 to 4 minutes.
Remove meat from the slow cooker using a slotted spoon. Place on the rolls. Serve soup on the side for dipping.