The problem is in the relay=dovecot
part. What you need to do is configure your mailman transport to use local
instead of dovecot. Otherwise, dovecot cannot resolve your virtual domain.
Follow these instructions:
Ignore point number (2).
Do not put the domains in Postfix virtual_alias_domains, and do not put hash:/path/to/data/virtual_mailman in virtual_alias_maps.
You need to tell Postfix to map your virtual alias maps. So keep it in there.