I found that on my current team, with most people using Docker, there were a few changes that needed to happen (if you're building DockerFiles)
1) Use the TARGETARCH variable in your DockerFile to replace the arm64 or amd64 string in whichever wget urls for unregistered packages you have. They tend to follow a pretty consistent naming scheme, and simply doing that replacement made a big difference.
2) As a frontend person, I noticed that it took a little while to figure out that certain backend packages like mqtt were using exact versions that didn't yet have an arm64 build, so I just incremented the version on my local machine.
These changes would presumably work on any machine, because the TARGETARCH variable just prints the architecture, it's up to the package maintainer to produce builds for the different architectures and keep the naming consistent.
I have no issues with this set up working between my m1 mac and intel mac, but ideally we'd bump the versions of the packages so it's less cumbersome.