“Create domains” and “delete domains” refers to adding new domains to your account and removing them. In order to add and remove records for existing domains the token does not need these permissions.
If you want to further limit what your token can do (i.e. which record types, subnames and domains it can manage), you can use deSEC’s fine-grained token policies. As far as I know the web UI can not yet display or manage them, so you’d need to use a different client.
Your assumption about not setting expiration values is correct. Your token will stay valid until you manually remove it from your account.
It does support token policies but it’s a CLI tool that won’t hold your hand and assumes some familiarity with the API. Token policies are not the most intuitive feature of deSEC, unfortunately.
Try it out to see if it works for you.
Not sure if there are other clients that support token policies. You could check the ones linked here (I don’t have personal experience with any of them):