It's been confirmed multiple times now that the 31,927 crowd published by Allegiant Stadium did not include corporates & VIPs. This is not just an NRL thing, with over 80% of the events held at the venue also having a difference of between 20-30% for the Allegiant reported numbers & announced crowds.
Was the crowd truly 40,746? possibly not, but it was most likely higher than the 32K Allegiant figure as well based upon other events, how much of the stadium was open, etc.
As for the difference with the 45K announced 24hrs before kick off by the Telegraph, I imagine a combination of the 100kmph winds + the multi ticket promos run played a part in that.