Neither is working and each gives me different behaviors... if I try post the subscriber payload to the services subscription url, it gives me a duplicate key error because no matter what profile id it is passing it is trying to insert isubscriberid 0... tells me it is not liking or not finding the subscriber by the Pkey and so I get this message.
Circling back on this to close the loop. As discussed in your Support ticket, it was found that the API call referencing PKey is case sensitive. So in the original examples, we see "Pkey" is referenced. When using "PKey" all calls were executed correctly without issue.
This is still an issue, but I have a bit more information. We added some new services and I discovered that the first profile I try to subscribe via the API does NOT return with the duplicate key error, but even though it found the appropriate service it seems to not make the connection to the profile and so it fails, silently, and inserts a subscription record with an id of 0. All subsequent subscribe calls then also do not find the profile and so the duplicate key error occurs.
The picture below shows the return from the first call and the null user returned.