Update: I realized that I wasn't casting to (int) when setting the parent positions dynamically. Even though the float values being used technically should have been whole numbers already, they were being changed to slightly off, such as 73.9993 instead of 74. When I use (int), it fixes it.