Yes, notifySessionClose is invoked, though not immediately.

When the connection is interrupted by the browser, the Server may need some time to notice that the connection is closed (it depends on the data frequency and, when low, on the probe time).
Then, the session is kept alive for the configurable <session_timeout_millis> time, in order to keep the subscriptions active and speed up a possible replay of the session.
Finally, notifySessionClose is invoked.

In case of a polling session, the delay could be higher.