One reason why the belt was trying to move down the pulley is that the motor was not mounted 100% straight. It seems the PLA was warped a bit more than I thought initially. The motor is now mounted straight by adding 2 very thin washers between the PLA plaform and the stepper motor on one side. The additional idler will be a useful saveguard anyway; it also changes the path of the belt slightly so that the belt has more contact with the pulley, reducing the chance the belt would skip.
I still want to do some more tests with the threaded rods in place before I upgrade the printer. More on that later. Also, the y-axis needs to be lifted a bit to allow the z-belt to move under it.