Having cost as the reason for going with remote devs is a very bad idea in my opinion, and it should only be seen as an added benefit. You don't want to hire cheap devs because they usually suck, and great developers will cost you quite a bit regardless of where they live.
While it may be difficult to compete with the huge corporations in places like SF, NYC, Seattle, where these competing corporations offer huge salaries, great benefits and have brand recognition, there's quite a lot of value to be had with setting up shop somewhere remote, where there's lower competition and where you can offer above average salaries to attract top talent in the area. Ultimately, every company says that they only hire the best, but unless you're paying top dollar in your area, you're most likely not hiring only the best.
I believe that most good developers will want to be part of a stable company that is actually building amazing things, instead of being part of an outsourcing company where they get passed around from project to project, and their resume will perpetually read "Software Engineer at Outsourcing Company Ltd." - most would trade that in a heartbeat for one of the FAANG companies.
If you want to have the best kind of success with remote devs, don't outsource, invest a bit more and set up an actual office and hire the people directly, people that want to have a career with your company, and not a contract for an unknown period of time, which they likely won't be able to put on their resume.