Good guide, however, this part is not true:
"However, you do not lose your Envoys if you find yourself at war with a City-State for other reasons. For example, if you declare war on another Civilization that is Suzerain of a City-State, that City-State will declare on you, but you will not lose your Envoys. You can even send additional Envoys while at war in order to become Suzerain, and the City-State will switch sides in the war."
I am playing a game now and Montezuma of the Aztecs declared war on me. Montezuma is the suzerain of Valletta, which in turn declared war on me. All of my envoys went to zero in Valletta and there were no option to send more if I wanted; I had more envoys available but I could not send them there while at war. We have since made peace and I did not get any envoys back; it is still at zero.
The same thing happened with Russia and Seoul, however, I am still at war with Russia (and Seoul) but my guess is I have permanently lost my envoys at Seoul even when we eventually make peace just like what happened with Aztecs/Valletta.
So I don't know if this is a bug, or what, but that just happened and is happening now in my game.