I can confirm that Google Analytics will start a new session when the user comes back from logging in with the referrer from another site. I don't have as big a problem with it on my sites because not many of my users log in. From Google's referral exclusion documentation:
How excluding referral traffic affects your data
By default, a referral automatically triggers a new session. When you exclude a referral source, traffic that arrives to your site from the excluded domain doesn’t trigger a new session. If you want traffic arriving from a specific site to trigger a new session, don't include that domain in this table.
Because each referral triggers a new session, excluding referrals (or not excluding referrals) affects how sessions are calculated in your account. The same interaction can be counted as either one or two sessions, based on how you treat referrals. For example, a user on
my-site.example goes to
your-site.example, and then returns to
my-site.example. If you do not exclude
your-site.example as a referring domain, two sessions are counted, one for each arrival at
my-site.example. If, however, you exclude referrals from
your-site.example, the second arrival to
my-site.example does not trigger a new session, and only one session is counted.
accounts.google.com in the referral exclusion list would solve the problem for Google login, but as you say, you can't do that for Facebook.
<meta http-equiv="refresh" content="0; url=/after-login.html">
It strips the referrer entirely in Firefox and IE. In Chrome, Opera, and Safari, the referrer changes to the refresh URL (which would be from your site).