A quick profile shows the biggest performance impact is that it's absolutely hammering collision detection. Turning off bullet stepping and "bounce off solids" and relying on a single "is overlapping" event is far faster, at the expense of slightly reduced precision at the point of impact.
The bullets have to test collisions constantly as they move, though. Probably a much faster approach would be to use raycasting to immediately identify all the points of contact with the scenery upon creation, and then just tween the bullets towards the destination with no collisions enabled.