There is one real structural difference and it is entirely about which way the dependencies point.
In a classic layered architecture, each layer depends on the one below it. Presentation depends on services, services depend on data access, data access depends on the database driver. The dependency arrows all run downward, which means your business logic depends on your persistence layer.
In hexagonal, the core depends on nothing. It defines an interface describing what it needs — "something that can store an order" — and the database adapter implements that interface. The arrow now points inward, from the adapter to the core, which is the reverse of the layered version.
That single change is the whole idea, and everything else follows from it. If your layered code has the service layer importing a repository interface that lives in the data access layer, you have layers. If the interface lives with the business logic and the data access code implements it, you have hexagonal — regardless of what you call the folders.