Referrer data is lost when a HTTPS site links to a HTTP site.
If you implement a 301 rediect from your HTTP site to your HTTPS site do you get referrer data?
Referring Site | Your Site HTTPS >>> HTTP >>> 301 >>> HTTPS
or do you have to make sure the source HTTPS site links directly to your HTTPS site?
Referring Site | Your Site HTTPS >>> HTTPS
If you bounce at all to HTTP, even in a 301 case, you will lose the header. The 301 is handled by the browser (or other client) so the protocol transition will happen there.
Some possible workaround ideas here: https://stackoverflow.com/questions/43916848/implement-http-to-https-redirect-preserving-google-analytics-referrer