You are right that CTR mode isn't great with small block sizes but it is also legitimate (according to NIST) to start the counter for the next message to that of the the counter at the end of the previous message. In TLS they use the split format you describe. I'm not sure how this maps to the OpenSSL API though.