Is this the right approach? Do each developer in a team (consisting of both senior and junior devs) have to directly interact with the client? Or, it is the job of Project Manager / Team Lead?
I've never met anyone I've worked with or work for at my current gig in person and I am well over three years in on it.
There is no point in arguing that face to face time isn't beneficial though.
If it feels necessary/feasible/practical to meet your client in person, then do it.
If it can be avoided and you work well together despite the distance, then just roll with it.