This is true as far as it goes, but, in a performance-conscious Scheme or Lisp implementation (unlike in a naïve C program), the cons cells comprising a linked list are unlikely to be scattered at random locations in memory. Instead, the system will try to store the cons cells near each other, ideally in a contiguous block of memory. In some cases the allocator may be able to do this directly, but, even if not, a copying GC gives a second chance: after copying the skeleton of a cons cell, it can recur on the cdr, copying it to the next location in memory, before proceeding to recur on the car.
That’s not to say linked lists don’t have downsides, like the overhead of storing all of the cdrs. For many purposes, something like racket/treelist will be a more flexible choice if data structure. Still, the Lisp family of languages knows a lot about how to get the most from our historic, elegant data structure.