Self-hosted always looks cheaper on a spreadsheet until you factor in your time. \(200/month box handling what used to cost \)3k tells me either your workload was overprovisioned at Pinecone or you're not accounting for the ops tax yet.
That said, their pricing is genuinely predatory once you're at scale. The upsert costs especially are brutal. If you've actually got solid monitoring and your box isn't melting under load, fair play. Just make sure you're backing up that vector DB properly, because a single box failure becomes your problem at 2am, not Pinecone's.
What's your query latency looking like compared to before.