The 4% is calculated at the beginning of the withdrawal period and then only adjusted for inflation every year. It's a percentage of the starting portfolio amount, so as the portfolio is drawn down, and the withdrawal goes up with inflation, it does become a larger and larger fraction of the portfolio in each year. (depending on actual investment returns, of course). It's also only designed to last 30 years, not indefinitely.
There are lots of different ways that a withdrawal rate is applied.
A 4% withdrawal rate, applied the way you describe (i. e. as a percentage of the initial balance) will last exactly 25 years with certainty if the investment is held in cash. To last 30 years with certainty the invested funds must earn 1.096% annually. That is achievable with 30 year Treasuries right now earning 2.75%. The only uncertainty involved in any of that is the impact of inflation. And even that is well-cushioned by the spread of the Treasury rate over the required return rate (2.75%-1.096%=1.65% is very close to the current inflation rate of 1.66%)
So basically, if someone retires at 65 and withdraws 4% of the initial balance every year and invests the money in 30 year US Treasuries held to maturity, the money will last 30 years (until age 95) with certainty but the purchasing power of those withdrawals is subject to risk if the inflation rate exceeds the excess earning of the Treasuries over the required rate of 1.096%.
What NL described is not much different from the actuarially required withdrawal rate for IRA MRDs. You basically take 1 over your life expectancy each year - it's not quite like that but pretty close. So in effect, every American is required to follow his plan after age 70.5 (or withdraw more.)
The trouble comes in when people retire early. In that situation a 3% or 3.5% rate is safer.