I have experienced the same sort of problem. (Ender 3, marlin 1.19, BLtouch, Cura 3.6)
I have this stl. I sliced it with Cura 3.6, it looks good and made 1 print.
I get shifting layers.
I tried again, fixed the STL in FReeCad, sliced it with Cura 3.6. I get shifting layers exactly at the same layer and of the same exact amount of shift. The STL looks good when sliced in Cura 3.6.
Trying to see if it was the Y-axis, but shift at the exact same layer twice would be very strange for a slipping pully, I decided to just rotate the STL 90 degrees in Cura 3.6. Sliced STL looks good again. I print it, expecting layer shift in the Y-axis again at the same layers at the 2 attempts before but now.... it prints perfectly, no layer shifts, not in Y not in X.
I looked in the gcode and the layers co-ordinates for the shifting layers are the same, gcode looks good. Rotating the object 90 degrees and printing it is proof of that and I manually checked the gcode of the object.
I had this happen to another small object, shift were also in the Y-axis, solved that by choosing another object which was the same as the small object but a taller version, cant remember if I rotated that 90 degrees compared to the small object.
Kevig, if you contact me, we can share some information and try to solve this.
I attached the file that has shifting layers, but when rotated 90 degrees, shifting layers disappear.