Doing data.plot.scatter(x="income", y="foodexp") early on would make it obvious that you need to take the log of both variables first. When you do log vs log, you'll get quantile estimates that *do* mostly fall within the OLS confidence band. I guess that's happening because you have a very heteroskedastic dataset, where e = kf(x) approximately: obviously the quantile slopes will vary!