The module azure_rm_virtualmachine has fields for plan information. Module azure_rm_virtualmachinescaleset needs to have them and forward them when creating a VM with an image that requires plan info to be specified. The CIS hardened images from the Azure Marketplace is a prime example.

nsg = None
        for key in list(self.module_arg_spec.keys()) + ['tags']:
            setattr(self, key, kwargs[key])
        if self.module._name == 'azure_rm_virtualmachine_scaleset':
            self.module.deprecate("The 'azure_rm_virtualmachine_scaleset' module has been renamed to 'azure_rm_virtualmachinescaleset'", version='2.12')
        
        self.remove_on_absent = set([resource.lower() for resource in self.remove_on_absent])
        
        self.zones = [int(i) for i in self.zones] if self.zones else None
        
        if not self.virtual_network_resource_group:
            self.virtual_network_resource_group = self.resource_group
        changed = False
        results = dict()
        vmss = None
        disable_ssh_password = None
        vmss_dict = None
        virtual_network = None
        subnet = None
        image_reference = None