TBA is just OAuth 1.0 and was designed to have long lived tokens. On the one hand, you can blame NetSuite for not having multiple OAuth 2.0 integration options, but you could just as easily blame the third party client for not supporting OAuth 1.0.
For situations like this, sometimes you can design your own middleware service, which takes a request from the third party, using whatever authentication method they support, and then makes the OAuth 1.0 / TBA request to NetSuite. It’s unfortunate that this is necessary, but when dealign with two third party services, you can’t always ensure that they have any supported way to integrate, and sometimes you need to build your own, or use an integration/ETL service like Celigo or Boomi.