The sequence is too meta
Haskell, 80 67 bytes



g~(a:b)|let k!l=k:take(a-1)l++(k+1)!drop(a-1)l=2!g b
m=g m
(!!)$0:m


Try it online!

Haskell is the perfect language for defining an infinite list in terms of itself.