This appears to be working correctly now.
Since Test 2, we've fixed several bugs regarding the socket handling.
We're still having to poll the USB as libusb doesn't appear to play well with with kevent on CheriBSD. We will test this again FreeBSD soon.
Going forward, we're considering converting this to an *.SO file but we, obviously, want to be sure that it's correct before we do that.