Make sure that all of your trains that you are using in LTN are NOT in a train group. I repeat they must NOT be in a train group or bad things will happen if they are, as in exactly what you are describing. You probably have confusing "train returned to depot, delivery failed" errors in the chat log while watching the train actively driving elsewhere on the rails. Took me waaay to long to figure that one out. I thought LTN was broken, period. Then I discovered I somehow assign all the trains to the group "eaaaaaasdw". I must have clicked it, hit e to close the train window then spammed movement keys. Then copy-n-pasted the train settings to all my other ones that were bound for the depot.
Now LTN has deployed a train to a requester station and then wants to pickup items there ... ???
You need to set the "Provider Threshold" really high say 1billion on all of your requesters stations. Otherwise they will use the default threshold of 1k. So whenever a requester has more than the provider threshold it becomes a provider. There is also a "requester threshold" if you want to set that to higher than 1k so train will haul larger batches and with less frequency. Also make sure the amount you a requesting is greater than the request threshold. Otherwise the station will never request anything.
The mod utility-combinators has reset the global storage table to their own keys. I changed that to setting keys in it and now LTN isn't behaving weirdly.
All mods are sandboxed from each other once the game loaded. The storage global variable in particular is for mods to persist data between save/load cycles. If you renamed the variable everywhere in utility-combinators you might break that mod in odd ways. If for some reason that table isn't sandboxed that is a Factorio bug. Even the current docs say that it is unique to each mod. https://lua-api.factorio.com/latest/auxiliary/storage.html