Using "apply from: 'https://..." works well for me in an init.gradle script (both in online and --offline modes). From that script I create and inject a plugin for settings.gradle that configures the pluginManagment block and other things in the settings object.
The code in the init.gradle looks like:
class InitSettingsPlugin implements Plugin<Settings> {
void apply(Settings settings) {
settings.with {
pluginManagement {
...
}
}
}
}
gradle.settingsEvaluated { settings ->
settings.pluginManager.apply InitSettingsPlugin.class
}