The impulse response of an operation is the same as the kernel of that operation, but only if the operation can be represented by a kernel (the operation is linear and translation invariant).
For example, consider the following input (the impulse):
[[0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0.],
[0., 0., 1., 0., 0.],
[0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0.]]
If you give it as input to a laplace filter, you get:
[[ 0., 0., 0., 0., 0.],
[ 0., 0., 1., 0., 0.],
[ 0., 1., -4., 1., 0.],
[ 0., 0., 1., 0., 0.],
[ 0., 0., 0., 0., 0.]]
This corresponds to the kernel of the laplace filter.
But if you give the same input to a 90 degrees rotation around the centre, you get:
[[0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0.],
[0., 0., 1., 0., 0.],
[0., 0., 0., 0., 0.],
[0., 0., 0., 0., 0.]]
(the same as the input)
Obviously, this is not a 'rotation kernel', it is just the identity. This happens because there is no such thing as a rotation kernel, because rotation operations are not translation independent (besides the trivial case of rotating by 0 degrees).
If the operation was not linear, the kernel would not match the impulse response either (for example, for a thresholding operation).