When you say plaintext, an admin user can have username/password credentials for interactive login, but you can also assign a client application to be an admin user, in which case you'd be using a client ID and secret for API calls. You're not putting credentials into a bot, you instead configure the bot with system access or create a dedicated admin service account and run it as that. There's also a system secrets store so you'd never be hardcoding plaintext secrets in a bot.
But I take your point that it might be nice to have config for the super admin eg Project Admins can not delete X - but the problem then becomes determining which resource may contain PHI, and that's where the policies provide the fine-grained control.
For our projects, we only give Admin accounts to technical staff members if they need to occasionally look under the hood, so if they were to accidentally go and delete resources we'd have to take the backup/restore path which would be a headache for sure.
Again I'm no medplum expert so someone from the team might have a better solution/guidance for you!