You probably already know this, but are you actually prepending the token with oauth: (so using oauth:<token> as server password) when using it for IRC? Also, do you have the correct scope associated with the token? You need the chat_login scope. You can check if the token you are using is valid and which scopes it has by specifying it at the Kraken API root endpoint: https://api.twitch.tv/kraken/?oauth_token=<token> (the token without oauth: in this case)
I also get the Invalid CAP command message in mIRC when connecting, I don’t think it has to do with the login problems.