Thank you yamasaki1ma. Your post helped me, because looking at your payload I realized that mine was structured slightly wrong (ProductRatePlanChargeTierData contains a map, with ProductRatePlanChargeTier as the sole key, and its value is a list).

I had ProductRatePlanChargeTierData containing a list. When I fixed that, my code worked, and it works with either /object/ProductRatePlanCharge or /action/create (I tested my code both ways).