The following code
D[f[a, b, c, d], {{{a, b}, {c, d}}}]
gives as expected array derivative
{{Derivative[1, 0, 0, 0][f][a, b, c, d], Derivative[0, 1, 0, 0][f][a, b, c, d]},
{Derivative[0, 0, 1, 0][f][a, b, c, d], Derivative[0, 0, 0, 1][f][a, b, c, d]}}
but
D[f, {{{a, b}, {c, d}}}, NonConstants -> f]
gives
{D[f, {a, b}, NonConstants -> {f}], D[f, {c, d}, NonConstants -> {f}]}
which is not an array derivative as I understand.