For people still having issues with this, I got this working by being very specific with the way I added my arguments to the server build executable:
GameBuildExecuteable-Platform-Shipping LevelName?Listen?port=9999
No spaces in between the first command line arguments, only question marks in one long string.
Had to boot into development to test it, but finally figured out that was my issue.