That's because the infinite sum of F(n) x^n, also known as its generating function, is x/(1 - x - x^2). If you substitute x = 10^-1 you get 10/89, but also
F(1) 10^-1 + F(2) 10^-2 + F(3) 10^-3 + F(4) 10^4 + F(5) 10^5 + ...
1 * 0.1 + 1 * 0.01 + 2 * 0.001 + 3 * 0.0001 + 5 * 0.00001 + ...
So it's no surprise that the first digits of 1/89 contain the Fibonacci series as it's just 10/89 shifted by one decimal place.The pattern breaks down eventually because you overflow a single digit. But you can delay how long until this occurs by substituting in smaller powers of 10. For example if we substitute x = 10^-3 we get 1000/998999 or
0.0010010020030050080130210340550891442333776109885995881...
I have also used this neat fact to make this golfed loopless/recursionless exact (no floating-point arithmetic) Python implementation of Fibonacci, by substituting in binary powers instead: F=lambda n:(4<<n*(3+n))//((4<<2*n)-(2<<n)-1)&~-(2<<n)
If someone is not aware of generating functions it's essentially impossible to understand why this generates Fibonacci.