Nine people and no platform person: pay for hosted. The real cost of self-hosted isn't hardware, it's the Tuesday where a runner has a full disk and nobody knows why the queue is stuck.
Two things to try before spending anything. Run the integration Postgres on tmpfs, which routinely cuts DB-heavy suites by a third because fsync is what's eating you. Then shard the suite across four parallel jobs. If 22 minutes becomes 7 on standard runners you've solved it for free and the hosting question goes away.