I don’t think TypeAlias will be removed as long as there’s no solution for use cases like yours.
EDIT: by the way, in case you would like to use unions also for matching in Python 3.10’s match statements, you might be interested in this proposal: Draft PEP: Matching Union Types