As a developer getting designs that don't scale is a common.
You also face it with UX.
I would just try addressing his language straight up. When he snaps at you just say "I don't care for your tone of voice".
If he challenges your work experience tell him "that will not be tolerated you are the Principal and he needs to get on board with it."
You may need to have a meeting with his boss. Maybe the three of you.
Does he feel like as PM you answer to him? Roles need to be clarified.