I think today I have managed to confirm to myself what is going on. The random int function uses rand() which has RAND_MAX of 32767. I figured it was an error with the way the RAND_MAX is scaled to your range then setting the max int to double 32767 should make it skip every other number. Below are screenshots of me running a range of 0 - 32767 and a range of 0 - 65514 where i track how many times a set of 18 numbers within the range are called.
You can see in the screenshots that the 0 to 32767 range calls every number with no apparent weighting issue for any number.
In the 0 to 65514 you can see only every other number was called.
I’m not really sure what to take away from this knowing that it uses rand() and being able to then look that up in terms of c++ instead of blueprint helped but as someone who doesn’t know programming it was only chance that I managed to come across that link.