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.