Hashrate falls by factor of 1000x when now block is found?
How long does the fall last?

It's so that when a pool receives a new block, it has to remove all transactions that have been removed in that new block from the pool of transactions it was trying to put in their block.

So what I guess happens (I never wrote or examined any mining software) is that your miner receives a notification that a new block is found and so knows that it makes no sense to continue trying to find a new block because it will contain already-confirmed transactions. It will then wait until the pool received the new block as well, pruned its own transaction pool and started again with distributing work among miners.

I think this process can really only take mere seconds.