For the custard, gently warm the milk in a small saucepan over low heat. Meanwhile, whisk the eggs, sugar, and salt in a medium bowl. Slowly pour the warm milk into the egg mixture, whisking continuously to combine. Then pour the custard back into the pan.
Adjust the heat to medium-low and cook the custard until slightly thick, stirring often to prevent it from scorching on the bottom of the pan, about 10 to 15 minutes. The final texture should be similar to heavy cream, but not thick like pudding. Stir in the butter to melt and add the rum. Strain the custard through a fine-mesh sieve.
Add the bread cubes to a large bowl, along with a handful of raisins. Pour the warm custard over the bread. Toss well to combine. Let the mixture sit for at least 30 minutes to absorb the custard.
Meanwhile, preheat your oven to 350°F (180°C). Generously coat a 9 × 13-inch (23 × 33-cm) pan or oval baking dish with butter. Sprinkle the bottom and sides of the pan with sugar to coat.
Spoon the bread into the baking dish, pouring any leftover custard over the top. The amount of custard left over will depend on how fresh or stale your bread is. Drizzle with the caramel sauce. Bake for about 30 to 35 minutes, or until the bread pudding is set. It should be golden brown, with a soft center. And it will smell divine. Sprinkle with powdered sugar to serve.