I will be theoretical here. Let's say you want to create a VPN connection with some VPN provider. You have to agree on some key to encrypt the data. how can you get the key without your ISP knowing it? Even if you are the one who creates the key, the ISP still sees it as it's being sent to the VPN provider.
An analogy would be, say... Alice(you, or the client), John(ISP), and Bob(VPN provider) are sitting in a room. Alice is trying to convey a message to Bob without John understanding it. So Alice tells Bob that they will speak French(instead of English). Now john knows their language. no accomplishment. Even if Alice talked about a complex method of encrypting the message, John will know it, since he is in the room.
Unless Alice and Bob had agreed on a method before they were in the room, they won't be able to communicate privately.
An other way would be for Alice and Bob to already have some keyword X which only they know, which counts as 'a method before they were in the room', but I think that's unlikely in a VPN.
End of analogy...
So how is it possible for you and VPN provider to communicatea key without ISP knowing it?