That's adequate but a bit clumsy.
I'll see if we can update the library to support a more elegant approach.
I've added a additionalGrantTypeRequestParameters property to the GTMOAuth2Authentication object to support different parameters for different types of token fetches.