i've dealt with this exact setup for a few travel brands, and honestly, the root + directory approach is the cleanest way to go. keep English on the root, then language subdirectories like /es/, /fr/, /zh/ etc. And yes - translate the slugs but stick to standard Latin characters. for Chinese, pinyin all the way.
hreflang is non-negotiable. also make sure your internal links between language versions are proper <a> tags, not just a flag image with no link. A simple "Español / Français / 中文" text block at the footer works.
Since it's a small site, I wouldn't over-engineer it. Grab the official hreflang docs, understand the logic, then get Claude to write you a custom plugin for your exact case. saves time and avoids the mess of generic SEO plugins.