I install Firefox in such a manner and can confirm the behavior is what you have heard. I've never seen the "please restart" page.
When I found this out it really pissed me off so I tried to figure out where the restart screen showed up in the source code so I could patch it out. But I'm not familiar with the code base and left off after a bit of digging because I really can't justify the time spent.
In reality I end up holding back Firefox updates with my package manager until I'm ready to restart it. In the end I will thwart developers trying to dictate things to me. The software on my computer works for me, not the other way around. A lot of developers seem to be far too arrogant and forget this basic fact.
So at any point the browser needs to be able to potentially launch a new child process if you open a new tab, or even just browse to a different website on a different domain (origin) – which thanks to site isolation nowadays requires a separate process, too, unless perhaps a page from the same origin is already open in a different tab.
If thanks to an ignorant update service the browser's binaries have been swapped out from underneath it, that now means that you've got an "old" parent process suddenly talking to a "new" child process, which isn't an officially supported configuration.
If you're lucky, there were no breaking changes within the browser and things might work anyway, but there are no guarantees that things always turn out that way, since the API between parent and child processes is a purely internal one and browser developers feel free to rejigger it any time they need to.
While in principle you could try to develop the browser in such a way that a certain amount of forwards/backwards compatibility is preserved between an older parent process talking to an updated child process, I presume that doing so would also significantly complicate development on anything that touches the parent/child process interface, and you could equally claim that it's Linux's package manager behaviour regarding updates (just swap out the files underneath a running process) that's broken.
I'm using a regular Arch installation with Firefox and Pacman. The "please restart" page appears regularly; I just had it yesterday. This occurs when running `pacman -Syu` in some background terminal while Firefox is active.
1: https://wiki.archlinux.org/title/Pacman#Skip_package_from_being_upgradedI was sharing my experience to illustrate that Arch does not have any protection against this problem _by default_. The post I was replying to was comparing Arch's package to a manual installation.
I usually open a new tab when I want to do something in that new tab, which makes the disruption very annoying. (As far as I remember, it also blocks loading of new pages in existing tabs thereafter so the disruption is total.) Then during the restart it loses all info in private tabs.
Used to be able to also run Fedora distro upgrades while the system is running, now we're back in Windows-like territory, where I have to restart the system and wait for it to re-install 2-3k packages pretty slowly.
The only real workaround for this is systems like NixOS where the previous version is left intact when you do updates.
Regarding the "excuse" that it is the package manager that updated the Firefox in background, I saw it repeated a lot of time to deflect the blame, but it is totally not true in my opinion. On my system, I don't allow automatic updates. I have the notification when updates are available, but the system/packages are never updated without me doing it. And still, I noticed multiple times that Firefox breaks suddenly, like that, when nothing was updated on my system for some weeks and everything was working fine.
For me on arch Firefox has shown the "Need to restart" page every time I have updated it's package while running and not a single other time.