There should be no performance difference.
PRIMARY_ID is our original syntax and functionality, with the primary_id_as_attribute parameter as a later addition to allow you to search on the id field (you can’t search on our “classic” primary_id). Under the hood, it is actually replicating the field: there is an id field plus a searchable attribute field.
PRIMARY KEY is some syntax sugar to make the above seems more like traditional SQL, but it’s really the same as above. We simply haven’t gotten around to closing the loop on having GraphStudio fully handle the back and forth with this syntax sugar.