The fix to
MC-181566 appears to have made redstone dust start using 32-bit floats for creating particles, which causes them to appear at the wrong positions when far from spawn e.g. 20 million blocks out.
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.