The thing is, when you create a sunken at the location, it creates at the center of the location and not at the location of the Pylon. You need to use a trigger that includes the "MOVE LOCATION" action.
| Trigger |
| Conditions: |
| ¤ Current player commands at least 1 Protoss Pylon. |
| Actions: |
| ¤ Move location labelled 'Pylon to Sunken' on Protoss Pylon owned by Current player. |
| ¤ Remove 1 Protoss Pylon for Current player at 'Pylon to Sunken'. |
| ¤ Create 1 Zerg Sunken Colony at 'Pylon to Sunken'. |
| ¤ Preserve trigger. (Optional) |
By the way, you cannot build Pylons on creep so you won't exactly be able to stack the Sunkens, unless you convert the Pylons to Sunkens at a specified time after the user has stacked multiple Pylons.