These lines:
https://github.com/python/cpython/blob/412f5e85d6b9f2e90c57c54539d06c7a025a472a/Lib/typing.py#L2889-2890
if not hasattr(tp_dict, '__total__'):
tp_dict.__total__ = total
go out of their way to account for the case there a TypedDict already has a __total__ attribute. But I don't think there is any way for the TypedDict to have that attribute at this point. For clarity, we should remove the check.
Linked PRs