A change in g_gametype does not take effect until the next map. So you have to specify the gametype in the preceeding line.
For example, if I wanted a rotation where the first map was FFA, the second TFFA, and the third CTF, then repeat, it would be as follows:
seta g_automapcycle "0"
seta g_gametype "0" //sets the gametype for the first map
set m1 "map mp/ffa3;set g_gametype "6";set nextmap vstr m2"
set m2 "map mp/ffa5;set g_gametype "8";set nextmap vstr m3"
set m3 "map mp/ctf4;set g_gametype "0";set nextmap vstr m1"
Also, the restart of the map to switch teams is considered a map restart (like rounds on a Duel server) so it is tricky to make a change in gametype in a rotation with with the Duel, Power Duel, or Siege gametypes. Same thing happens if g_dowarmup is "1" and is working on the mod (it doesn't in basejka). Warmup has to be disabled in the line preceeding the line with a change in gametype.