The reason British Airways' A318 flights from London City-New York stops in Shannon specifically is also because of the ability to preclear US immigration/customs at that airport while the plane is refuelling. To get the full benefit of a direct flight, London City would need to implement preclearance there.