So what you basically do now is, you check if your bullet overlaps something and cast the overlapped object to a FirstPersonBullet1 again. But this cast seems not necessary since no matter if it works you destroy the ProjectileMovementComponent and Activate it. This current setup does not make sense to me.
So what I think you want to do: Pick up a new projectile from an ammo box or something else with the player, and then change the bullet type that will be spawned.
So what you need to do is, go into the Blueprint of your pawn/character and on Overlap with a certain bullet pickup (therefore use an extra blueprint type, so if a player gets hit by a bullet he doesn’t pick it up) change a property in the pawn blueprint to the Bullet Blueprint class that this pickup stores. Then, when you shoot, you read that property to determine which bullet to spawn.