We did back then too. In fact we had SSR. It often took the form of CGI, like PHP - which, hate the language all you want, it has a very sane and scalable model.
and bi-directional data flow was done in the form on long polling. this sounds very much like a get off my lawn argument rather than anything rooted in reality of the now.
Long polling has turned into SSE. And rocks with HTTP/2. What was once old is new and in vogue again!
SSE isn't bi-directional, but sure - solves a bit of the long polling issue.
It absolutely was not popular.
What was not popular? PHP? Because that's... well, patently wrong.