Updating an R-tree is log(n) just like any other index.
This is all speculation, but intuitively your criticism makes sense.
Also, mapping 147k cities to countries should not take 16 workers and 1TB of memory, I think the example in the article is not a realistic workload.
Not rocket science but different tradeoffs, that’s what engineering is all about.
The whole advantage over a static partition is that it will allow you to properly deal with data that is irregularly distributed.
Those data structures can definitely be merged if that's what you're asking.
About your binary tree comment: yes this is absolutely valid, but consider then that binary trees also are a bad fit for distributed computing, where data is often partitioned at the top level (making it no longer a binary tree but a set of binary trees) and cross-node joins are expensive.