Ran into the same pain points when building a CRM card that had live search and batch updates. Right now, hubspot.serverless doesn’t let you pass an AbortController or cancel in-flight requests, since it abstracts away the whole fetch config (probably to keep the proxy logic simple and secure).
The workaround we ended up using: we moved critical debounced or cancellable requests to custom serverless functions (hosted on HubSpot or external), then called those via plain fetch or hsFetch from the front end, where we can control abort logic. Yes, that means you lose some native proxy convenience, but it keeps your token safe since your custom serverless still handles the secure part.
Not ideal, but at least it gave us cancel control and avoided race conditions when users typed fast or switched actions mid-request.