In our small backend engineering team, which also takes care of the DevOps work, we just have a multiarch docker image that we use as a base image to build the ARM local dev images and the CI/CD (running on amd64) builds the production images. Everything works flawlessly, docker knows what architecture to build in each case. There was some work we had to put into the base image to make it build multiarch, but then we basically forgot about it