Did you have Messsage-ID listed in mail_always_cache_fields when you imported the mailbox? Do you have it now?
If not, please add it and then use doveadm fetch to populate that in cache.
I think the correct setting is
mail_always_cache_fields = hdr.message-id
But you also might want to add some other fields I didn't have it in mail_always_cache_fields, but I had looked at doveadm mailbox cache decision and seen the fields mentioned in the log as being in cache as temp.
I just tried adding hdr.MESSAGE-ID to mail_always_cache_fields and tried to fetch but with the same result. Good idea though. doveadm cache decision only tells me what dovecot will try to keep in cache, is there some why of inspecting the cache itself to know what is stored there? I've had to raise vsz_limit because of out of memory situations, so maybe the cache is corrupt? Nothing about it in logs though.
.einar