Я не уверен, что вы правильно поняли, но вот как я обычно поступаю с OpenSSL:
Я считаю, что BIO-структуры OpenSSL представляют собой некие непрозрачные потоки.
Какие бы данные я не передавал (или не получал) от OpenSSL, они обычно хранятся в собственной пользовательской структуре данных, а затем копируются в / из OpenSSL BIO для обработки.
Как вы сказали, документация OpenSSL не совсем ясна по некоторым вопросам. Поскольку мы не можем разумно предположить его внутреннее поведение, я полагаю, что этот способ делать вещи безопаснее.
Однако, если вам нужна высокая производительность и вы хотите избежать бесполезной копии (это было бы законно), вам лучше спросить Список пользователей OpenSSL . Их ответы будут точными, и я верю, что только они могут отвечать на вопросы, которые точно не описаны в документации.