Most Bengals absolutely are lovely and I'm very glad yours are. However, they are a highly intelligent, curious and adventurous breed. This means that sometimes they can be prone to acting out, lunging and attacking out of frustration or simply boredom. Or sometimes simply to see how you react. Many love to learn what you dislike and then to do it, just to watch your reaction. And as they are a muscly, compact but heavy cat, they can do damage they really don't mean to.
Of course, many cats have similar traits / are naughty / soft / cuddly / aloof etc. However, Bengals, as a breed, are more akin to dogs or toddlers in their way of thinking and their innate curiosity. An un-neutered, indoor only, 5 year old Bengal would be on another level. But as the OP hasn't stated that her cat is a Bengal it's probably kind of irrelevant. All cats be catting in their own way!
To the OP though, well done for getting him neutered now and not just giving him away. It's quite likely something spooked him just before you came close and he's blindly reacted. As someone mentioned, it's well into the swing of kitten-season just now, so quite likely an in-season female or another tom on the prowl has wound him up. Him being neutered will sort that out once and for all. Sadly, if he continues being aggressive after being usually so calm, then I would second those saying it might be a brain tumour as he's too young for dementia which can also be a contributing factor for unprovoked aggression and I would be taking him for further investigation.
In the meantime. Show no fear... 😉😾😁