This is correct - when a user is deleted, the tasks owned by that user are removed as well. Without their parent user object they would not be able to run, so they are cleaned up.
Unfortunately there's no record of the individual objects removed like this
Thanks for your response, not what I had hoped to hear but what I suspected!
Is there a best practice on setting up server tasks - should they be created using some sort of service/admin account?
There's no special account per se - if you are likely to be adding and removing admins regularly, I'd suggest creating a special global admin user and using that account to create any server tasks that definitely have to be persistent.