On what exactly does the size of a primitive data type like int depend on?
int
It depends on the implementation (compiler).
Implementation-defined behavior means unspecified behavior where each implementation documents how the choice is made.