No, it is not necessary that TCP packets always follow same route because TCP is end to end (host to host) protocol so it only concerned with how packets are being transmitted between the two end PROCESSES. IT doesn't know anything about routes
Connection Oriented has two meaning :
1st is stablish end to end connection onle not whole route like TCP
2nd reserve some resources (Buffer,C.P.U,BW preservation) not wire to wire connection like virtual circuit in packet switching
Connectionless Service means those services which neither have prior reserved resources (like datagram services) nor END to END connection