Hi Michael,
In my shallow view, the .nonzero operation cannot returns the keepdim=True version, because it cannot guarantee each dimension has the same number of elements that fit the nonzero condition, so it performs reduction to 1D and return positions.
But you could get the first occurrence by iteration like this:
next(x for x in nz_ind if x[0] > 0)

to get the first nonzero value in dim1.