That little 'hop' where the bullets seem to freeze is almost definitely the network ownership of the bullets switching from the client to the server. You can read more about network ownership on the Wiki, but as the bullet moves far away enough from the player, the game automatically changes its ownership from client -> server (in fact I think it has this exact example because it's a common problem). The solution is to set the network ownership (to the server) yourself before moving the bullet. That's as simple as:
bulletPart:SetNetworkOwner(nil)
This will stop the network ownership changing, hopefully preventing that pause in its flight
1 comment
https://gyazo.com/8d9786563d27507a727d0d628d3d1a16 That solution made the bullet lag more worse. Thanks for trying though.