At its most barebones, an LSP can just be a regular LN peer that a user has a channel with and relies on for routing & liquidity management.
But yes, logic could be built into/on top of your node to try a payment, and if it fails, retry through a specific LSP. Or, you could have a list of peers you can reliably pay, that you pay directly, and if your destination is not in that list, you use the LSP to access the wider network.