Well, I am glad to finally be able to say I can put these particular cases behind me, as my final refund came through yesterday. I initially contacted the three hotels (Grand Mercure Jinan Sunshine, Sofitel Chengdu Taihe and Fairmont Nanjing) about this on 11 October.
The Fairmont Nanjing agreed to refund me the 'calculated difference' in exchange rate between the DCC and non-DCC directly to my WeChat wallet, so this was sorted within 48 hours. The difference between DCC and non-DCC was just over AUD 30 (a 4.23% markup, using exchange rates on XE Currency). I was very satisfied with the fast resolution to this issue.
As I had prepaid for accommodation at the Sofitel Chengdu Taihe, I only charged dining to the room, so the overcharge was RMB 13 (about AUD 2.50). However, it did represent a 4.36% markup over the non-DCC exchange rate, so I reached out to the hotel's management just make them aware. I had no intention of disputing the charge, as I felt that $2.50 was not worth my effort, nor the hotel staff's. But, when I contacted the hotel, the front officer manager insisted to refund me the RMB 13 and offered some additional benefits on my next visit to the hotel, which was unexpected. The refund was processed and received within two weeks. I am impressed with the customer service here and would return to the hotel.
The Grand Mercure Jinan Sunshine was more of a headache. As [MENTION=216888]lingua101[/MENTION] mentioned above, the hotel stated that the machine is configured in this manner; the hotel or guest has no way to select currency on the machine. The markup here was about 3.97% (just over AUD 20). As I was staying at the same hotel again two weeks later, it was agreed that they would refund the entire first stay's account, and I would settle it again upon returning for my following stay. For whatever reason, the refund could not be processed through the credit card terminals at the hotel and had to be processed through the bank. Though I am satisfied with the manner the front office manager dealt with the issue, the bank (being in China) seemed to be a bureaucratic mess and took a long time. Apparently overseas offices needed to be involved. This took some weeks, and given I had paid for this stay twice, I was a little antsy. The front office manager kept in regular contact with the bank and did the best she could, which I appreciated. At the end of the day, it was the bank that was slow. The general manager was away on holiday when I contacted him, but he took time out of his vacation to reply to me and offered me a complimentary night when I next return, which was appreciated.
Morale of the story - carefully check those credit card payment slips to see if it says DCC on it. I've learned my lesson and am not eager to re-live the same headache again for a while!