Aren’t compiler plugins unstable? If so, then -beta and -nightly channel musl rustc would actually be more like a production release than normal builds of the compiler on -beta and -nightly. So, I don’t think that compiler plugins would get in the way.
Plus, dlopen is implemented by libdl, not libc. It seems like there must be a variety of ways to get musl-based systems to support dlopen or equivalent.
However, I see musl as more of a stepping stone than as an end-goal. We should be able to target Linux without libc and without loss of libstd functionality**. And, in particular, rustc should be able to run when built against such a version of libstd.
**I suspect such a project would find some parts of libstd to be unreasonable to implement and thus subject to deprecation generally. I’m thinking of CString and some synchronous/blocking networking APIs in particular. In other words, I think they are in the standard library because they are easy to implement over libc and implementing any alternative using (only) libc is hard, not because they are actually reasonable APIs.