Once googlebot gets a 200 response, it will take the entire document.
Decisions about what URL to crawl next come from an algorithm. Often googlebot goes on a crawl with a "list" or queue of what URLs to request. So it's not like one of the crawlers of old that just follows link after link as they're discovered.
If the listed canonical URL was very recently retrieved, then that URL may not be requested very soon after getting the new canonical link. Or then again, it might be. The crawl team is continually changing things up, from what I can tell.