Based on a reply to reporting this as a bug, moving rows out of foreign partitions is not yet implemented so this is behaving as expected. There's a mention of this limitation in the Notes section of the Update docs.
> I've set up 2 instances of PostgreSQL 11. On instance A, I created a table > with 2 local partitions and 2 partitions on instance B using foreign data > wrappers, following https://pgdash.io/blog/postgres-11-sharding.html. > Inserting rows into this table works as expected, with rows ending up in > the appropriate partition. However, updating those rows only moves them > across partitions in some of the situations: > > - From local partition to local partition > - From local partition to foreign partition > > Rows are not moved > > - From foreign partition to local partition > - From foreign partition to foreign partition > > Is this the expected behavior? Am I missing something or configured > something incorrectly?