In some software development methodologies, "spike" is a task whose goal is figuring something out instead of delivering shippable code. https://agiledictionary.com/209/spike/
Prototype is usually something working, while spike can be pure research (e.g. validate that APIs are feasible and enough, or that something satisfies requirements). Prototype is usually more polished/usable. Experiment in my mind is something which user-facing but not in stable yet.
So for me they are differentiated enough, but could be that I am just used to it.
An experiment doesn’t say anything about user facing or not. I do tons of them when reverse engineering poorly documented hardware and APIs to determine if the thing I’m trying to do is even supported.
In general, yes, but I would say "experimental features" is a pretty widely used term, so in my mind the association with something user facing is strong.
"Spike" comes from Extreme Programming where it means specifically code written without TDD. Code that wasn't written against a pre-existing test is by definition broken, and should not go into production. So you create a simple "spike solution" to explore the problem space, so called because it cross-cuts concerns like a spike going through wood or something, I dunno.
Spikes are explicitly time-boxed to keep the team focused on the red-green-refactor churn which is the software engineering process in XP.