It may be that something gets cork on but not off. Handling corking was the only change between 0.9.66 an 0.9.67, see the chanelog:
Thu 17 Oct 2019 04:50:52 PM CEST
Integrate 0-byte send() method for uncorking for old FreeBSD/OS X
systems into new mhd_send.c logic for uncorking.
Releasing libmicrohttpd 0.9.67. -CG
Fri 18 Aug 2019 00:00:00 PM UTC
Fixes and optimizations for the setsockopt handling:
* Added: MHD_UPGRADE_ACTION_CORK_ON and MHD_UPGRADE_ACTION_CORK_OFF
to enum MHD_UpgradeAction (turn corking on/off on the underlying
socket).
* Use calls and flags native to the system for corking and
other operations, tested with performance improvements on
FreeBSD, Debian Linux, NetBSD, and cygwin. In particular,
this adds selective usage of MSG_MORE, NODELAY, TCP_NOPUSH,
TCP_CORK. -ng0