Hi,
I tried to reproduce the problem on my end with the same setup: the 3 same currencies, JPY as the main one, the exchange rates like you, a shipping method with a price in JPY, and using the currency switcher on the checkout.
The only thing I didn't had is the weights plugin because it's developed by a third party developer.
And I didn't had the problem.
I think the problem is in the code of this plugin which doesn't handle currency conversion properly for the prices set in the "rates" area of the shipping method. So I'll have to report the issue to the developer.