1) Yes, your understanding is right for the google.ima.AdsLoader.getSettings() and google.ima.ImaSdksettings.
2) The AdsRenderingSettings.AUTO_SCALE settings will cause the ad to fill 100% of the ad containing div. The default dimension for the adContainer div is 640*360 for the linear ads. This setting affects only the linear ads.
3) The getCuePoints() method is used to check the timing for the ad breaks. If you have a single VAST, you'll get an empty array. But if you have a playlist (preroll, midroll and postroll), you will get 0 for the preroll, -1 for the postroll that will indicate it's a playlist.
4) The Ad has to start once the LOADED event is fired. Basically, the LOADED event will just load the ad and the START event will indicate that the ad is going to play. So the ads have to play in the order. We discourage attempts that cause the ad not to play in the regular workflow.