I believe you're getting closer because all that you've been describing makes sense.
The problem is that what your script has done is not to create a user with a mailbox but a Contact entry - so actually the user should show up in SAC as a "Internet User" and should be in your address book, but you won't be able to login or authenticate as this is no account, only an address book entry.
You can also make the user visible with the omsearch command - which works against the directory - but not with omshowu which only shows real accounts.
The key to this is
You haven't extended your Schema on the OpenLDAP side, I assume (see ldapsync13.schema for instructions should you want to do this); therefore the exScalixObject attribute does not exist, therefore it is not mapped to the omMailbox attriubute in the Scalix side.
omldapsync defaults this to false, and that then means that a contact record is created.
So - so far everything is in order.
Your choices are:
* extend schema and set exScalixObject to TRUE
* don't extend schema and hardcode TRUE value for the attribute in sync.cfg - which then makes it impossible to also create contact records through LDAP.
I would, if you have control over schema and user record contents on the OpenLDAP side, go for the first option.