Retrieval of an arbitrary item from a linked list is O(n). Arbitrary means any of the elements are eligible for selection, without loss of generality.
However, retrieval of a specific item from a linked list has nothing to do with how many items are in the list. It is therefore O(1). Retrieving the 50th item from a linked list takes the same amount of time, no matter whether the list has 50 elements, 50M elements, or 50^50! elements.
I do allow the input to vary. Give me any linked list you like, and I can write you an O(1) time method that always takes the same asymptotic time to retrieve the 50th item -- a specific index.
If you say "well, you have to let me pick any item I want, not just the thing at index 50", then you are picking an arbitrary item, not a specific item. I do agree that retrieving an arbitrary item from a linked list is O(n) in time with respect to the size of the items in the list.
I think you might be conflating the definitions of "arbitrary" and "specific", and that is why you don't agree with me:
But those are very different things. That's why the O(1) result is a little surprising, and it's why I think I'm correct in stating that, for a linked list, retrieving arbitrary items is O(n) and retrieving the item at a specific index is O(1).
Before you say "well that's trivial and degenerate", not every data structure has this "O(1) for a specific index" property. Extracting the third rope from a ten-rope knot takes more time when there are ten ropes instead of three.