It seems as you need to reference the initial choice_list (instead of the rank) to get the label:
jr:choice-name(selected-at(${rankCoarse},0),‘${coarseSize}’)
and so on.
This referencing is similar to a previous example (see link above): Show selected options as selected - #7 by wroos.
But even jr:choice-name(‘aRankedChoiceName.’, ‘${rankQuestion}’) will show “undefined”.
(As I tested, it is the same without a choice_filter.)
And in table view and Excel export, it seems that you cannot get the labels for a rank!
This is strange for me. It might be a bug? Maybe someone of the core team can explain: @Kal_Lam, @Josh ?