I believe the distinction between heavyweight and green threads here is not really the correct comparison. It's more of a comparison between kernel managed (non-green) threads and userspace managed (green) threads. One could argue that Goroutines are green threads that are executed on non-green threads.
It's also not infeasible to imagine a system where kernel threads are actually lightweight - single address-space unikernels come to mind.