Yeah, we also used a RigidBody2D for the ball and StaticBody2D for the bumpers. But the bounce effect was done in our case by changing a "bounce" value in the graphical interface on the bumpers objects.
The way you coded an impulse whose direction depends on the angle of the ball creates a much better effect!