From your questions.
It is my understanding that memory-optimized indexes do not fragment.
As an in-memory table would I reverse the PK (PK2, PK1) and have a second index on PK1?
Is there no reason to drop and recreate the index on PK1?
Does index fragmentation truly go away in a memory-optimized table?
Question 1, yes memory optimized indexes don't fragment.
Question 2, no. what you want is a hash index on PK2 and a hash index on PK1. if you want to preserve key uniqueness on PK1, then you'd need a non clustered key on PK1 and PK2. Be careful that PK2 doesn't have a lot of repetition.
Question 3, dropping and re-creating an index can't be done in memory optimized tables.
Question 4, yes fragmentation goes away with memory optimized tables.
Thanks Guy