Some comments:
- What is the reason to use 
baud = 230400. The default should work fine and is the most stable one - Your 
run_currentsettings seem exceptionally low (this could potentially lead to layer shifts). See Hold_current and run_current -- TMC2209 - #5 by Sineos for some more information - 
square_corner_velocityshould be left default 5 unless you have good reason to change 
Apart from too low current = low torque, such shifts are often the result of binding axes or similar mechanical issues.