Hi Nick. It’s me again. In a case like this the best course (IMHO) is to read the code. You can do this from the fastai docs. Even better is to put a debugger, such as PyCharm or VSCode, on cnn_learner and trace to see exactly what is happening.
A quick glance shows that the extra three channel weights are set to zeros. So yes you would need to train them. But you certainly do not have to do it this way. A valid alternative is to initialize the new 3 to the pretrained RGB values and divide all weights by 2. You can let fastai create the Learner, and simply alter the model to your liking inside your notebook, using the fastai code as a template.
But my point is that the best way to answer questions about what n_in actually does it to look at the code!
HTH,
P.S. I understand that getting into the fastai code is intimidating. I can only follow parts of it even after a couple of years. But given the level of the questions you want to answer, there does not seem to be any better way.