if a server doesn't support SASL and you need to login via messaging nickserv, it seems like this ends up happening after soju tries to rejoin your channels. i'm not sure if soju actually sends the connect commands after rejoining, or if there's just a delay in the network's nickserv processing your IDENTIFY command.
Either way, if some of those channels were +r (registered users only), soju will fail to join them because you aren't identified yet, and won't try to rejoin them after being identified, so you'll have to rejoin them manually every time soju reconnects.
soju sends connect-commands and then joins channels. NickServ-based auth is asynchronous so servers such as OFTC will try to process the JOIN messages before authentication completes. There is no way for clients to figure out when authentication is complete.
This whole situation is considered as a server deficiency: servers should support SASL for reliable authentication.