When a user story is obsolete (not in scope anymore), should we still call it a backlog item? (I don't want to delete that item, because we want it for a reference)
Per Scrum Guide: "The Product Backlog is an emergent, ordered list of what is needed to improve the product."
So, if the US is no longer needed to improve the product it is no longer a part of the Product Backlog. You might keep it in some other bucked if you need it for anything.
A user story is a placeholder for a conversation about a potential requirement. If you need to expend time and effort referencing an unnecessary conversation, ask why. That's the problem to be solved.
I'm going to assume you are using some kind of application to maintain your backlogs. My answer is from that perspective.
What the teams I have worked with in the past would do is move the obsolete story to "done" with comments on why it is obsolete and why they would refer back to it in the future. Some tools let you define multiple status to "done". You can create a status of "Canceled" or "Won't Do" or "Obsolete" or anything else that makes sense to your organization. That removes it from being active in the backlog but still retains it in the database.
Now having given you a way to deal with it in your tool, I echo @Ian's thoughts. What kind of "reference" material will this item be used for? And why is it considered obsolete? Those are questions you may want to get answers to so that you can better deal with this in future.
If PBI is useful for reference then it has SOME use.
Anyway if you are PO its entirely up to you to decide, and there are NO rules (including Scrum guide),only suggestions.
If you want to keep it, keep it.