Kubernetes is really not overkill. Kubneretes is exactly what you make it.
Throw in a bunch of "magic" operators that no one understands, configure complex SDN overlay networks, and use invasive security sidecars. Make Kubernetes extremely customized to your environment. And, surprise, it's extraordinarily difficult to learn and use.
On the other hand, if you practice some basic restraint, Kubernetes is simply a distributed init system. Easy and fast to use. Kubernetes gives you base functionality you'll never get out of Docker Compose. Like, automatic load-balancing between pods, automatic node failover and recovery.
I'd take a simple 3-node k3s cluster over hacked-togther compose files and glue scripts any day. And, in doing that, it makes moving into something like EKS much easier in the future should you need "web scale" (mongo is web scale (sorry)).