Unfortunately, the way collisions are handled in GBStudio more generally makes this impossible. There might be some way to do a workaround without actual collisions, but I'm not sure how.
Hmmm too bad. I got pretty close to a workaround with conditional movement & identical movement speeds, but it is still buggy... probably need to go back to the drawing board. Thanks for the answer though!