If there is a Keeper Limit and I have a Bag of Holding and someone steals my bag of holding can they steal one of my other keepers before I go down to the keeper limit?

A: TLDR: no, they may not.

The loss of the Bag and your Keeper Limit adjustment are considered to happen simultaneously, so there’s no time between your losing the Bag, and your discarding down to the Limits.

In fact, to accurately represent this, technically _nothing_ should happen in the game until you’ve discarded down to the current Limits. The active player should wait to play their next card (Exchange/Steal a Keeper, maybe?) and they should wait to perform any Free Actions (City of Thieves, maybe?). None of that should proceed until you’re done discarding. (Frankly if they wanted to take one of your Keepers having the choice of your entire array, they should have done it before stealing the Bag of Holding. After all, they don’t have to discard down to the Keeper Limit until their turn is over anyhow.)

Of course, in reality, as long as they’re not going to do something to your Keepers, they could probably keep going with their turn while you figure out what to discard, but, since, in this case, it’s all about which Keepers you have available to steal… they’ve got to wait.