After struggle with this problem for several days, waisting around 1 working days in total, I now can answer my own question.
The behavior "objectClass: olcBdbConfig" causes "ldap_add: Invalid syntax" error simply indicate back_bdb module is not loaded. I guess one may argue an error at importing olcBackend is more user friendly as it clearly reminds not having backend loaded, while others may consider an error at objectClass is more logical to the programming aspect.
Since the "olcBdbConfig" is defined in back_bdb module, and back_bdb registers it when loaded, I find it hard to figure out how an error message related to "olcBdbConfig" being undefined could mention the module that would load it. As a general rule, trying to use a module prior to loading it sounds a bit braindead. It is just one step away from documenting the need to switch the computer on before using ldapadd.
p.