I was with you right up until "This is where you learn the hard skills you need to be a programmer, designer, entrepreneur, or artist - not in the classroom.".
If you want to have fun and really wring out your skillset as any of those things, Hackathons are a great place to do it. If you want to experience something new, if you want to meet interesting people, sure, hackathons are great. But a hackathon is a terrible environment to learn programming and entrepreneurship.
Hackathons won't help you learn, or improve at programming. At a hackathon you're slapping APIs together and writing code that just barely works well enough for a demo. You have 24-48 hours, you don't have time to learn how to do things well, that can only come with experience and often, yes, in the classroom.
If you want to be an entrepreneur, and I mean really execute on a product, talk to users, find the right niche, iterate on an idea and figure out a real business model, you won't do it at a hackathon. You're most interested in making something that will be entertaining for the audience there on that day.
I'm not a designer or artist, so I can't speak for them, but I'm sure the situation is similar. I've been to at least half a dozen hackathons of various stripes in the last few years, and while they're tremendous fun, they don't replace learning.