I think the reason why you see devs with soft skills move to client-facing roles is not that you get pigeonholed but because a lot of devs just don't have those skills. Knowing how to work with other people, especially people who aren't technical, is a good thing and not a skill that will "pigeonhole" you at all.
In fact, you may find that the opposite is true: most people can only go so far in a pure developer role and if you want to make the really big bucks and be responsible for big decisions, that's almost certainly going to involve dealing with non-technical people (and even if you somehow end up in a management position that deals solely with techs both above, below, and across from you, people skills are still just as important with devs - maybe moreso because a person who lacks these skills probably won't be equipped to understand that their boss lacks personal skills and is "just a jerk" or something like that). Also, you may in the future find yourself wanting to branch out in new directions. Maybe you'll get burned out of developing and want to do something else for a few years (believe it or not, it happens!). Maybe you'll want to start a business of your own - there's no place in a start-up for people who can't wear a lot of hats.
Another underrated way that soft skills help is that by explaining to non-technical people what you're doing, you actually force yourself to understand your own material - be it the framework you're using, the tools you use to help you code, and on and on - better. I have a bad, bad habit of over-explaining stuff (part of it is personal preference; I vastly prefer giving people too much information than arrogantly doling out only the info I think the other party will understand but part of it too is a personal failing that I work on improving), but one thing I have found is that a lot of the time when I start talking out what I'm doing to an analyst or a non-tech manager, this makes me realize that the actual problem they're looking to solve isn't necessarily going to be fixed as well with the solution I think I want to provide than with another one.
Worst case scenario, if for some reason you do wind up in a front-facing job and can't get back to developing even when you want to, there are always other companies willing to give a shot to a person who has coding experience and who presumably knows how to work well with others. Unless it's something you just flat out hate doing, there's not a lot of downside, really.