Whenever a government offers loans at an interest rate which is below the risk premium, that difference essentially represents the government giving the borrower free money paid for by all citizens through loss of buying power.

So when Japan offered 0% interest loans to traders who used it to buy USD bonds, it represents the Japan government offloading the cost of the risk premium to its citizens and giving the difference to the traders for free... But then the traders give that free money to the US government where it helps to inflate the USD currency supply to make American asset-holders richer.

The traders aren't actually profiting from the carry trade because the 4% return on US bonds doesn't cover the real inflation (loss of buying power) of the US dollar; their net worth in terms of buying power is actually the same or dropping. US asset holders are the ones actually reaping the benefit.