Replying to myself: I found some answers in Display timestamp of when incoming email was sent, not ticket created which suggests to enable “import_mode” (in Create Tickets and Articles through API with historical time and date) to allow setting of created_at
(and other fields) via the REST API.
I still have not found a way to upload raw emails via the REST API - is there any?
I also came across the recently merged PR about “Import archive mailbox” (https://github.com/zammad/zammad/issues/3142) which looks like it could solve many of my issues.