Thank you for the feedback!
The game definitely lacks a bit in balancing in my opinion, because you just can create so many different guns.
Your idea of letting the enemies get stupid powerful sounds actually really fun :D
I'm pretty sure my solution to this would have been a dynamic difficulty system (think Mario Kart), that adjusts enemy spawn-rates based on the weapons you have.
The framework is there to dynamically change the weapons the enemies have.
Also regarding the slow-down:
I didn't get to the optimization stage at all sadly, but the best solution would have been to use an ECS system of sorts. AFAIK similar games usually use one, because of the sheer amount of entities.
I tried to combat this a bit as I knew it would be a problem by not using any rigidbodies or colliders for the projectiles. They are actually custom raycast-based, with some clever render tricks.