Your first explanation is right.
Each kernel will produce one activation map.
If you would like to create 3 output channels, you could use 3 separate filters (all working on all input channels) or use grouped convolution (each filter working on a separate input channel).
Have a look at Stanford’s CS231n 569 info on convolutions.