What is stopping postfix from delivering mail to the local transport agent?
If you are using dovecot as your LDA, you'll need a line like this in your master.cf:
dovecot unix - n n - - pipe
flags=DRhu user=vmail:vmail argv=/usr/local/libexec/dovecot/dovecot-lda -f ${sender} -d ${user}@${nexthop} -m ${extension}
And then you'll set virtual_transport
to dovecot
, instead of virtual
.
Further details are available here.