both our source and target is SQLServer 2016

i am trying to find a way to get our replicate job work best possible when the primary key of the source tabel is changed

normal DDL changes is handled as expected, but i am struggling with primary key changes

In our setup we know when the change is going to happen

so our current procedure to handle the change is as follows

1-stop the normal replication job
2-wait until the change in source has happened
3-add the table with the primary key change to a new attunity task that only does a reload of target with 'drop and create' of target, and stops before loading changes
4-start the normal replication job
5-this gives some warning in the beginning, of changes not being able to be performed, since they are from the old version of the tabel, but thats ok, since we did a reload

But is this really the way to handle changes in primary key ?