Wanted to let you know I have forwarded this along to an engineer on the relevant team who will hopefully reach out soon about it. I believe the TLDR is that defining the function as public just means that it is accessible via the Client API.
Running as a system user is a separate setting without any relationship to the public/private nature of the function. https://www.mongodb.com/docs/atlas/app-services/users/#system-user