FTS is slow when searched word appears frequently in rows
Your bitmap has grown too large to fit in work_mem, and so it has "gone lossy" where it records just the blocks that contains matches (for some blocks), and then needs to recheck each row in those blocks.

                 Rows Removed by Index Recheck: 1329552
                 Heap Blocks: exact=12673 lossy=22516


Doing this is slow.  Especially so because you are using a functional index, and so it has to re-parse content for each of those rows as the parsed form is not stored in the table.  (That re-parsing is also why you get the NOTICEs).

Increase work_mem so that it can hold the entire bitmap.