Does a subscribe call generate an instant join event?

No, there can be up to a 1-2 second delay between a subscribe call and the corresponding join event on the presence channel. But it is often triggered less than 1 second.