For stateful CTR, what do we assume is predictable - the nonce or the counter?
Both. In general, the majority of implementations work as follows:
The input to the block cipher is the combination of IV/Nonce (96-bits) and Counter (32-bits). For each message, the Nonce increments by 1. For each block of a message, the counter increments by 1.
The state kept by communicating parties consists of the key, the last nonce used, and the last counter used. Importantly, keeping track of these ensures that the combination of all 3 is only ever used once, as repetition can allow plaintext recovery if an attacker knows one of the plaintext blocks used with that triplicate.
That predictability is also important for optimization, as both sender and receiver can precompute blocks of a message in parallel while waiting for the message to be received, or in multiple threads to increase throughput.