I also suspect an error in the book (Z in the lead-in/out being 2X what it should be) but would need to see the full example to be certain. There's also something really clever in there.
For the sake of argument, let's work in polar coordinates centered on the hole (theta, R, Z). Thread milling has R constant and theta and Z in a linear relationship. Then a lead-in/lead-out is simply a reduction in R while theta and Z do their thing, and the metal that is supposed to remain there is guaranteed safe.
The choice of a lead that is half the radius of the cut has an interesting property-- 90 degrees of lead is 45 from the center, 45 is 22.5 from center and so on. That relationship too is linear. So you end up at the right Z height for a given theta with R decreasing. It's a perfect lead-in/out! And realistically, R only has to decrease a little bit before you're out of the cut.
This linear relationship between the angles breaks down for other ratios of cut to lead radii. Even with linearity out the window, it is possible to calculate good enough values for the change in Z during the leads. All you need to do is maintain linearity between theta (from hole center) and Z for that short time during the transition from cutting to leading.
Using the theta from the center of the hole to endpoint of the lead as discussed in previous posts is really pretty good for certain cases but not exact. The approximation gets worse for small lead radii, and if you had a 180 degree lead out, it wouldn't work at all since that would land you on the X axis.
As far as I can tell this modification from what's written in the book works every time:
L_t=A_lead*P/360*R_lead/R_thread
You can see that if R_lead=R_thread, you have normal thread cutting with L_t being the pitch. As R_lead gets smaller, so does the amount of change in Z, as it should. A small radius 180 degree lead would work fine if you're so inclined. In any case I am a believer in making the leads pretty short, because the lead at the bottom of the hole (whether it's lead-in or lead-out) isn't making usable thread.