To follow up... I did a full vacuum analyze on both tables and re-ran the query. Same story. I ended the query after eight minutes.
pgsql-general by date:
Соглашаюсь с условиями обработки персональных данных