Short answer: No you cannot. Mailcow is very integrated, in monitoring itself, security and deployment and update process. Tearing that all apart will leave nothing from mailcows core strengths.
Longer answer: you could fork mailcow and get inspired how they do the deployment and upgrade, you could tweak it to your liking, like separating the containers on different VMs. Or as a last resort do a manual or ansible deployment on bare VM without docker.
However you are then already so far away from mailcow (and probably have to “reinvent” much of its features), that it makes more sense to work with postfix, SOGo etc on themselves directly. But that is so much work to do…
You are talking about “security” and in the next sentence “it gives me a better feeling”. That does not fit together, you should be experienced enough to estimate your risk exposition and know postfix’s etc. security. Security has no place for feelings, but for best practices. And putting services in VMs because it “feels better” is not one.
Mailcow was designed in a secure way, shielding containers with own iptable rules.
if you are into monitoring there is a great solution of one of our forum members:
https://community.mailcow.email/d/5704-mailcow-logs-viewer-a-faster-cool-way-to-monitor-your-emails
Or you could use a hardened solution like Sophos Firewall which can act as both WAF (and reverse proxy) and MTA in front of mailcow. Its free for home use and I find it a great product.