How can I fix broken clickthrough URLs in Mosaico emails?
Drupal 8's architecture is different from most, and you probably know that there are two copies of some files - one in libraries and one in vendor.  My guess is that Mosaico is getting the path to url.php through two different functions that give different results.
Open up your civicrm.settings.php and find the line that has CIVICRM_UF_BASEURL in it, and paste these three lines anywhere below that:
$civicrm_setting['URL Preferences']['userFrameworkResourceURL'] = CIVICRM_UF_BASEURL . '/libraries/civicrm/';
$civicrm_paths['civicrm.root']['url'] = CIVICRM_UF_BASEURL . '/libraries/civicrm/';
$civicrm_setting['domain']['userFrameworkResourceURL'] = CIVICRM_UF_BASEURL . '/libraries/civicrm/';

This should hopefully force Civi to always return the libraries folder when constructing URLs to the extern subfolder.
EDIT: Today I was troubleshooting a site that went from using the Roundearth install method to the civicrm-asset-plugin method, and I had to comment out these lines to get the site to work.  I suspect Mosaico will be fine without these lines now that I've completely converted.