Why is sklearn.metrics.roc_auc_score() seemingly able to accept scores on any scale?
The documentation says


  Target scores, can either be probability estimates of the positive
  class, confidence values, or non-thresholded measure of decisions
  (as returned by "decision_function" on some classifiers).


(My emphasis)

This is possible because the implementation only requires that the y_true can be sorted according to the y_score. 

The false positive rate that is returned is given as follows:


  A count of false positives, at index i being the number of negative
  samples assigned a score >= thresholds[i]. The total number of
  negative samples is equal to fps[-1] (thus true negatives are given by
  fps[-1] - fps).


The false positives can be calculated with only taking into account the order of the predicted scores/thresholds.

Multiplying the scores by a scalar has no effect on the order of the values, thus the resulting score remains the same!

See the sklearn GitHub page, the relevant code is under the definition of _binary_clf_curve.