I also encountered this issue today. Count not find this topic, so I created a new one (Decoding a dictionary with a custom type (not String) as key), and the answers there brought me here.
I agree with @Jon_Shier, I would consider this a bug for the same reasons he mentioned.