Given your analysis, this seems like a defect in the Context Service (client). I would recommend reporting this to SDL Customer Support for further analysis and resolution.

As a work-around, you can configure DXA to get the Context Claims from ADF instead of from Context Service: 

 - For DXA Java: http://docs.sdl.com/LiveContent/content/en-US/SDL%20DXA-v5/GUID-9127A28E-5DF8-45C9-B64D-2EC2C5280195
 - For DXA .NET: configure `AdfContextClaimsProvider` instead of `ContextServiceClaimsProvider` in `Unity.config`

If you do this, you have to ensure that you enable the Context Cartridge in your Content Service. In that manner the Context Claims are provided by the Content Service instead of the Context Service.

Such an ADF-based configuration is known to have worse performance, so should be considered a work-around.