Interesting - I hadn't actually thought of whether someone with a public account creating features in a publicly available feature service get their details stored in the editor tracking fields or not.
I just did a quick test and it seems to work. i.e. I happen to have an existing public account. I signed in with that just on a web browser and went to a public feature service in the map viewer and created some features. I then checked the features and the editor tracking fields were populated with my public account user details.
I then opened up the standard AppStudio OAuth sample and successfully signed in using my existing public user account.
So you *can* use the OAuth workflow, the only missing step here potentially is the ability to actually create the public account within the AppStudio app itself. Like I mentioned before, the OAuth sample sign in page doesn't include the "Create Public Account" link. So one option would be to bounce the user out of the app to a native web browser to www.arcgis.com with a message to create an account and then ask them to return to the app and sign in. But that's not an ideal workflow.
The next options to explore would be either using a WebView to present https://www.arcgis.com/home/createaccount.html and somehow detect when they have created the account and grab the token etc. Or examine the rest api calls made in this workflow and code them into actual QML page controls to create that account and parse the results to get the token etc.
I'm afraid I don't have time to go into all that right now - I might at some point in the future as it sounds interesting. If you or someone else finds out a way in the interim please do post here.
cheers,
-Paul