Virtualmin doesn’t need to know much about the IMAP server running on your machine – I wouldn’t be too worried about that aspect.
What I would do is:
Figure out where on the filesystem Postfix/procmail are delivering emails.
Setup Cyrus to store/retrieve emails at that same location.
Verify that Usermin is either reading the emails from the correct location on disk, or maybe even set it up to grab emails via the IMAP server rather than looking at the disk directly.
Yeah, Cyrus does store mail elsewhere: /var/spool/imap/domain contains my domains. And it doesn’t seem to use maildir either- it makes folders with thingy.cyrus in it. So reconfiguring Cyrus is essential.