Why do Transit Ports have their Port Sequence numbers change when adding or removing a port from the itinerary?
When adding a port within a block of Transit Ports on an itinerary, all ports within the block will have an increase in Port Sequence Number:
Original Itinerary and Port Sequence Numbers:

After the revision:

The change in Port Sequence No. is because transit ports (canals and passing points) are auto-inserted by the distance calculation when you're entering the other port calls in the voyage. If you change a port in the itinerary (or insert a new port, or delete an existing port) the distances between ports will need to be recalculated, which includes replacing any applicable transit ports.
However, a workaround does exist, and in order to have the transit ports or port keep its port sequence no. for a port call, you must select "Lock Transit Port" from the port options dropdown.
Navigate to voyage:

For each port or ports, select "Lock Transit Port":

Then, add the port to the itinerary, and note that the Port Sequence Numbers have remained the same:

However, if the itinerary needs to be changed in a way that would omit these ports they will remain until they are unlocked.