What do you mean with custom join table? Self-referential m2m works fine im my experience.
Django Admin is not really designed to be an all-encompassing admin solution I've found, it's a good start but normally you design your own admin console anyway using your API so I've not cared that much about those shortcomings.