A ham is initially licensed in Hawaii as KH6ABC (example only). If he subsequently moves to the mainland, can he keep his geographically restricted "KH" call sign or must it be changed?
He or she can certainly keep the KH callsign and use it anywhere in the US and territories. (I wonder if he or she thought that when operating in Samoa? There are two sides there, as you probably know. But since the non-American side is a territory the same rules apply.)
Common convention is to append it with the location where the station (even a HT) is operating.
So, if in California, you might identify on SSB as "KH6ABC slant 6" so people won't pile up wanting Hawaii for WAS.
If in Morse code, you use the slash character, as in "KH6ABC/6" (-..-.)
But these are conventions, not rules. So it is perfectly all right to just use your native callsign wherever you go in the US.
Outside the US, especially for events (such as climbing Mt. Everest) the entire expedition is generally given a callsign just for that event. This is where WARC comes in. It is not complicated but needs to be taken into account by the expedition leader.
Inside the US it is pretty simple. Myself, I am AL7** and though am in California, ID myself as AL7**.
Where it gets interesting is if you to Alaska - where it would be "KH6ABC/L7" or "KH6ABC slant L7." (L7 means Alaska, whether a wl7, kl7 or an al7).
The FCC requires that you identify yourself. That's the end of the story with them. Their goal is to encourage the hobby, not to fine people like with broadcast stations.
FYI, they are serious about ID requirements. Simply keying up a repeater to see if you can reach it does not fit the criteria for lawful identification. Enforcement actions are rare but can happen if it is deemed to be harmful interference.
Here is an interesting story along those lines, in which an operator was fined for failure to identify: ID requirements
In a case like this, the operator should have said something like "AL7EM Test" and the fine could have been averted.