やり方
typingモジュールに、クラス変数であることを明示的に宣言する用の型が用意されているので、データクラスの作成時にクラス変数であることを明示して宣言すれば、__init__で用いられない。
from dataclasses import dataclass
from typing import ClassVar
@dataclass
class TestClass:
var1: ClassVar[str] = "class"
var2: str = "instance"
$ TestClass(var1='var').var1
>>> TypeError: __init__() got an unexpected keyword argument 'var1'
$ TestClass(var2='var').var2
>>> 'var'