it's good to check the parse error -- even if you did check it, but omitted it from the playground snippet for brevity, someone will always mention it anyway.
The Unix* methods functions either import from UTC, or output in terms of UTC, so no matter what, date.Unix() for all these dates would be identical.
time.Time is a fmt.Stringer, so it's handy to just print it 'as is' for debugging, since that outputs all the possible information about the time. Outputting with the same format as the input while debugging, in general, is a good way to mask errors/bugs.
In this case, the output of all of those dates includes +0000, which means that, at least the playground deployment, doesn't recognize EDT, and is treating it as if it's UTC. In my opinion, this might be worth Parse returning an error in addition to the "best guess" date, which in this case is UTC.