Campfires and soul campfires emit extra smoke particles during rain. When very far away from spawn, these particles can appear far from the campfire. This bug first emerged in 206a, and is without a doubt linked to the rain/lava smoke precision loss bug introduced in the same snapshot.
This is best tested when greater than 16,777,216 blocks out on both axes, so being 20 million blocks out should suffice. This issue is without a doubt due to incorrectly casting to a 32-bit float from an integer or double, resulting in numerical precision being lost. This can be fixed by simply not casting to a float, which eliminates any chance of losing any precision.