Elixir mono-repo best practices

Your set up seems sound to me.
I don’t have much experience with that, but if you wanted to take it further (and have time/resources for that), you could investigate adopting Bazel.
I imagine you could declare dependencies between your projects and build them in parallel + get caching benefits.

There is a related thread: