On second thought I noticed that that makes CREATE FOREIGN TABLE include an OID column in newly-created foreign tables wrongly, when the default_with_oids parameter is set to on. Please find attached a patch.
The fix makes sense to me, since in ALTER TABLE SET WITH OIDS we check that the relation is a table and not a foreign table:
3160 case AT_AddOids:/* SET WITH OIDS */
3161 ATSimplePermissions(rel, ATT_TABLE);
So, I think we should be consistent between DefineRelation() and alter table.