I think I got it, and I think it maintains all features.
factorio-api.lua function set_manifest_schedule
Remove/Comment the "create_direct_to_station-order" that are in the file. I think there were like 5. One of them might not have been needed to be removed I didnt think about it too much.
train-events.lua function on-train-changed
add a depot check to the bit that leads to the on_train_arrives_depot "if stop and stop.valid and stop.name == "train-stop" and map_data.depots[stop.unit_number] then"
Remove all bits referencing "Rail"
main.lua function se_add_direct_to_station_order
Remove the direct to station order so this basically does nothing.
I know this will never be used by anyone other than me, but yeah.