Can machine learning models treat a vector as a whole feature to learn
To avoid having too much features produced by a OneHot, you can either :

Transform your data before your OneHot, regrouping different classes in intervals you created yourself (for example, reducing your 128 features to 30 classes you created yourself) then applying OneHot
Use CategoryEncoder (Such as TargetEncoder, James-Stein, LeaveOneOut, WeightOfEvidence) : this will make stats and transform the classes into a number, higher if the class is well known (appearing often) and tend to give more True prediction than the average