Running SonarQube 220.127.116.11531 with SonarScanner 18.104.22.16847.
The original issue is in the parameter of a function call but I was able to reproduce in a simple assignment test:
char z = 'A'; char y = (z? 'a' : 'b');
The second line raises an issue “Target type is a plain char and should not be used to store numeric values.” This is unexpected according to the rule documentation and the fact that the assignment above it works.
I was unable to find an exact explanation for this behaviour in the C standard (checked C99) and GCC and Clang-10/12 neither throw warnings when compiled with -Wall.