I understand the multiple interrupt channels are to provide better concurrent performance as you suspect. In my experience using them has not been straightforward.
I am not sure how some of the OFED ULPs like IPoIB use the interrupt channels but the selection of the interrupts channel is made at the verbs layer. After the queue pair is created it can be modified to allow it to target a specific interrupt channel. (in fact it might be in the create_qp call but I am pretty sure that it is done with modify_qp)
Keep in mind that IPoIB is a complete software implementation of the ethernet stack. The interrupts shows are IB interrupts that work the IB queue pair completion channel not traditional ethernet interrupts.
For the ULPs there would have to be some way to expose the modify queue pair interface to the user and I am not sure if that is the case.
Keep digging there may be someone who knows how the interrupt channels can be used in the ULPs.