To use a WMS layer as an overlay layer on top of another layer, you need a transparent image. You can configure the WMS tileset model to request transparent tile images from the server. You do so by setting the transparent option:

WMSTileSetModel.createFromURL("https://sampleservices.luciad.com/wms",
    [{layer: "rivers"}], {transparent: true})
    .then(function(model) {
      //do something with the model
    });

You can use a similar approach for a WMSImageModel.