I believe that the compiler is correct in this case - NodeLists are not Arrays nor are they even related. See https://developer.mozilla.org/en-US/docs/Web/API/NodeList
You need to augment your type definition with a union of both types:
/** @type {Array.<Node>|NodeList} */
var kids = document.childNodes;