Hi, I came from this thread (link) but I couldn't access it. I had a similar problem, but I solved it by creating a bridge table saying the role and having the M:N. In my case, it's a soccer match with a home and away team and I couldn't have the double link. So the bridge table ended up with the foreign key of the team and the match and an attribute called "role".
I don't know if this is the best way, but it seems to me that at the modeling level it solved it. Did you manage to solve it that way?
Best regards