Well, I am no expert but I actually have pondered this myself and the following are my conclusions:
And how does it deal with dynamic obstacles like idle units?
Well this is easy, and you answer it yourself with 'boid steering' but I will explain that further. So each unit has some kind of inner area of influence and an outer area of influence, see my mspaint picture:
Now one can, using math, get a value of 0.0 - 1.0 of your position between those area of influences! So using this 0.0-1.0 value you can slowly steer the units steering vector away based on how close you are to another units inner area of influence. E.g:
Now buildings can easily mark A* nodes as closed \ open on demand with little performance impact and if A* can't find a way out it just gives back the path up until it deemed the end point impossible to get to.
What exactly are the nodes of A* on navmesh?
Well nodes of A* are generally just a grid representing passable \ not passable terrain and that can be enhanced with a navmesh that basically says all of this is a node and matches an area precisely (or more precise than a grid)...hang on there is an article I read about this a few years ago:
There you go! Have a read of that it should answer the rest of your questions I think. Digest that information and ask more!