Just for troubleshooting, can you please check in the .js script what configurations are loading for your data elements.
For below configuration all three are enabled - Case insensitive match, Force lowercase value, Scrub whitespace and linebreaks using cleanText
{queryParam:"utm_campaign",storeLength:"pageview",forceLowerCase:!0,cleanText:!0,ignoreCase:1},"UTM_Content":
I feel, if the debugger shows lower case values, then the same should go to the Analytics also.
It is good that instead of handling at report suite side, while passing value to the Analytics, you can use the .toLowerCase() method to avoid this kind of issue.
If the data is already available in the report suite, then you can use classifications to get proper count.