Can't really advise what would be 'best' for your config of LDAP top level or OU's, but from what you've just described, think I'd config for OU student and OU teacher rather than top level. However you configure that is what it will attempt to sync. Top level means all of it.
Unlike the bulk user imports (csv), syncing doesn't give you a preview of what it's about to do, it just does it. Once the accounts are in user table, it might be a bit of work to remove those accounts that are not needed in the Moodle UI.
Again, if you had a 'sandbox' instance of Moodle (on same server so using the same environment/ same version of Moodle/ same connectivity, etc.) one could test top level vs OU's for student and staff.
In any direction, think I'd start with syncing OU's for student and teacher. If that doesn't get what is desired, then switching it to top level and syncing again would mean less processing.
'spirit of sharing', Ken