This is similar to this question Postgres could not serialize access due to concurrent update, however because of characteristics of FDW the suggestions aren't applicable.
The error is "could not serialize access due to concurrent update" from the following code:
update fdw_table set last_new_data=clock_timestamp() where fn_name='something' and id=1234
The problem seems to be that fdw has a stricter transaction level which can't be changed - or at least that is my understanding of the documentation postgresql.org/docs/current/postgres-fdw.html.
I tried using the following
update fdw_table set last_new_data=clock_timestamp()
where fn_name='something' and id=(
select id from fdw_table
where fn_name='something' and id=1234
FOR UPDATE SKIP LOCKED
);
But this still throws the error.