AUC ROC in keras is different when using tensorflow or scikit functions.
No, you shouldn't have the same numbers. All depends on the additional parameters:

tf.metrics.auc(
    labels,
    predictions,
    weights=None,
    num_thresholds=200,
    metrics_collections=None,
    updates_collections=None,
    curve='ROC',
    name=None,
    summation_method='trapezoidal'
)


This means that this curve will have 200 points, so very smooth.

sklearn version doesn't have this kind of parameters:

roc_auc_score(y_true, y_score, average=’macro’, sample_weight=None, max_fpr=None)


The number of outputs depends on the curve and the number of points if I remember properly.