Does a read replica help if the problem are heavy queries?
If you had a lot of concurrent heavy queries, the replica could help spread the workload.  Or if the heavy query was interfering with other work the master database needs to do.  But if you don't run multiple queries at the same time and the problem is only that they take too long, there is no reason to think a replica would help that situation.


  make the DB choke


What does that mean? Databases don't get food lodged in their trachea. Are you getting error messages(other than apparently query time-outs)?


  The solution so far has been optimizing these queries, by trying e.g. to fetch less fields, and scaling up the DB.


There is a lot more to performance optimization than that.  What about indexes?  Are you using a version of PostgreSQL that supports parallelism?  See https://dba.stackexchange.com/tags/postgresql-performance/info for more info on how to optimize (or at least, how to ask optimization questions).

What are alternatives?  Well, if the only problem is that the queries time out, then change your time outs.  Tune your queries, as above.  Upgrade the database version so it can use parallelism.