Kiedy wybuchła II wojna światowa, McKinnon był w Anglii na kursie artyleryjskim. Wstąpił do II Nowozelandzkiej Siły Ekspedycyjnej i służył z 3. Nowozelandzką Dywizją podczas
kampanii na Wyspach Salomona. Początkowo dowodził 28. ciężkim pułkiem przeciwlotniczym, ale kiedy jego jednostka została rozwiązana w lipcu 1942 roku, przejął 29. lekki pułk przeciwlotniczy. Wraz ze swoim pułkiem wylądował na Wyspach Skarbowych i Zielonym. Po zdemobilizowaniu dywizji w 1944 roku wrócił do Anglii, aby uczęszczać do Staff College w Camberley. Po ukończeniu kursu stacjonarnego dołączył do 2. nowozelandzkiej dywizji, walczącej w tym czasie we Włoszech z 8. armią, wraz z innymi oficerami artylerii, którzy służyli na Pacyfiku. Po przybyciu do Włoch w lutym 1945 roku był zastępcą dowódcy najpierw 4. pułku polowego, a następnie 6. pułku polowego.