I've seen this thread elsewhere for specific Garmin products, but I think it's a more general issue with "Modern" view. My Forerunner 220 also won't sync the calendar unless I switch back to classic view, instead of modern. Just wanted to repost what I found on a Forerunner 600-something thread, so more people can see how to fix this:
Sync calendar:
Go to connect.garmin.com and log in.
On the left click the icon of the head
click "switch to classic view"
from the plan dropdown select calendar
On the far right click the curled arrow pointing to the right.
Launch Garmin Express and hit sync now.
Switch back to modern view.