Hi @Biju Mathew ,
There are 2 ways you can provision throughout, one at container level and one at database level. Lets consider the scenario at container level in your case:
Provisioned the throughput at the container level: Throughput is distributed among all the physical partitions which in turn will be distributed across all the logical partitions within them. e.g. If we provision a throughput of 18,000 request units per second (RU/s), then each of the three physical partition can utilize 1/3 of the total provisioned throughput. Within the selected physical partition, the logical partition can, collectively, utilize the physical partition's 6,000 provisioned RU/s. So there are chances that one logical partition can consume more RU than other depending on the documents per logical partition.
You can refer to article for more details.
Your scenario: 40 RUs per logical partition is possible when the load across all 10 zones have been divided almost uniformly. If load on few zones are higher they will consume more RUs than other zones. These are knows as 'hot partitions'. Hence picking up a partition key that has wide range of values will help in creating balanced partitions.
Please let us know if that helps or else we can discuss more.
----------
If answer helps, please 'Accept Answer' as it could help other community members having similar issue