For my site: example.com I build subdomains de.example.com and es.example.com (within same name folders in the root).
So, the page example.com/test have this in meta: <link rel="alternate" hreflang="en" href="http://example.com/test" /> <link rel="alternate" hreflang="de" href="http://de.example.com/testen" /> <link rel="alternate" hreflang="es" href="http://es.example.com/pruebas" />
In GWT (for main domain) under CrawlErrors/Not found I see: URL: http://example.com/de.example.com/testen linked from: http://example.com/test. ...and so on for almost every link used with link rel="alternate".
It seems that Google completely misunderstood link rel="alternate" even it is built by his rules...or I did something wrong.
If all your links, everywhere, start with protocol-plus-domain, then you have done it right and google needs to go kick their computer. It's got nothing to do with rel="alternate" or anything else that might accompany the link.
It's worth double-checking your code, though.
:: detour to double-check ::
Their own examples [support.google.com] begin with full protocol-plus-hostname, so it's no use arguing that the format is meant for links on the same host.