Примерно так (не знаете, как вы хотите сжать результат с 2D до 1D?):
>>> np.isin(large,small)
array([[False, True, False, False, True, False, True, False, False,
False, False, False, False, False, False, False],
[False, True, False, False, True, False, True, False, False,
False, False, False, False, False, False, False]], dtype=bool)
>>> np.where(np.isin(large,small)) # tuple of arrays
(array([0, 0, 0, 1, 1, 1]), array([1, 4, 6, 1, 4, 6]))
# And generalizing, if you really want that as 2x2x3 array of indices:
idxs = array(np.where(np.isin(large,small)))
idxs.reshape( (2,) + small.shape )
array([[[0, 0, 0],
[1, 1, 1]],
[[1, 4, 6],
[1, 4, 6]]])