Thanks, that makes sense.
I updated Rift Rail so the extra stops it inserts into the LTN schedule are now added as temporary stops, including the optional post-teleport cleanup stop. That seems to match your recommendation.
I also reviewed the advanced cross-surface scheduling case. In my current implementation I haven't run into the “wrong end” / reversed entry-exit situation, so I don't think I need an additional fix there right now.
As for cleanup when portals are removed: normal removal paths are already handled on my side. I am not planning to add extra complexity for extreme editor-forced deletion edge cases unless I see a real issue in practice.
Rift Rail already supports deliveries where the train needs a surface change between leaving the depot and reaching the provider. The main thing I changed after your feedback was making the injected routing stops temporary.