How can I add a new field from config inside hook_update_N?
Yes, you can't create content before the relying config has been imported. That's a classic Drupal 8 paradox which has just recently been solved by a new hook: hook_deploy_NAME(&amp;$sandbox).
Update to the latest Drush and from now on run drush deploy as part of your deployment routine, which replaces the old drush updb &amp;&amp; drush cim routine. Then create a new file in your module: MYMODULE.deploy.php. In there implement MYMODULE_deploy_NAME(&amp;$sandbox) where NAME can be any unique name (or an incrementing number as well). And use this hook to create the terms, same as in the hook_update_N(&amp;$sandbox) in your question.
drush deploy will ensure that this hook will be picked up at the very last in the deployment routine, after the relying config has been created from configuration import.