CDN JS -- cannot seem to weight it
The method below works superbly. hook_page_alter is the way to go and the #attached method. (as suggested in a comment instead of hook_preprocess_page I didn't know this would work for external js but it does. Pretty cool. With this method and a nested array with weight, it works as expected. 

function MYTHEME_page_alter($cache) {

  if (drupal_is_front_page()) {
    // Render leaflet only on the home page
    $leaflet = array(
      '#attached' =&gt; array(
        'js' =&gt; array(
          '//cdn.leafletjs.com/leaflet-0.7.2/leaflet.js' =&gt; array(
            'group' =&gt; JS_LIBRARY,
            'weight' =&gt; -999
          ),
        ),
      ),
    );
    \Drupal::service('renderer')-&gt;renderRoot($leaflet);
  }
}


Also of note is that we use JS_LIBRARY instead of JS_THEME here.