As a partial workaround, until/if all that functionality is added by Asana (probably not anytime soon)…
If you’re on a paid Asana plan, you can use local (not org-wide) custom fields for private data on your tasks.
Make a private project with all the private custom fields you want to use on any task, then multi-home any tasks that you’d like to specify private data on to this private project. You will be able to see the custom fields and values but no one else will.
Larry