Is it how you solved it?
I’ve been thinking of using dynamic zones.
Or similarly to what you said - I’d keep User as a collection type. Then add two collections: coaches and members. And within User create a relation to one of the other collection entries.