First, here is the theory. In the world of spherical horses, whenever you sell the stock you get the proceeds of the sale and can turn around and buy another asset. That's what self-financing is really all about.
In real life, of course, that's a bit more tricky due to various issues. Primarily that you have to post the generated cash as collateral, creating a funding discrepancy - cash as collateral usually generates less interest than your long margin interest. Borrow rates, that you have mentioned, are part of your stock-specific risk and have to be accounted for in the strategy returns as opposed to financing. Again, in the world of big players, you frequently get negative borrow rates on easy to borrow names because of funding discrepancies.
However, the self-funding assumption still sort-of holds for the grownup players in this business. First, let's take an example. If you trade a futures on S&P, you have some exposure to the interest rate since you are implicitly financing some index arbitrageur out there. However, if you turn around and sell Dow Jones futures against it, you only going to have a tiny exposure on the margin amount. Now you can see how a market neutral combination of futures is self-financing, right? Similar to this example, most quant funds trade all securities on swap, which makes them effectively funding neutral (besides some tiny bid/offer).
Does that make sense?