I tested the latest patch, and not only did GNOME restart Firefox with the correct profile when I logged back in, when I used the MOZ_NO_REMOTE environment variable to run two instances of Firefox with different profiles at the same time, it restarted both instances, each with their correct profiles, when I logged back in.
The only thing I can't confirm is that it also restores all open tabs and windows, because for some reason my build right now isn't restoring those. But I can confirm that this patch isn't what broke Firefox's session restore, as it also happens when I build without this patch.
I tested the latest patch, and not only did GNOME restart Firefox with the correct profile when I logged back in, when I used the MOZ_NO_REMOTE environment variable to run two instances of Firefox with different profiles at the same time, it restarted both instances, each with their correct profiles, when I logged back in.
The only thing I can't confirm is that it also restores all open tabs and windows, because for some reason my build right now isn't restoring those. But I can confirm that this patch isn't what broke Firefox's session restore, as it also happens when I build without this patch.