Der phpMailer funktioniert per PHP (was keiner gedacht hätte). Bei PHP gibt es die Einstellung open_basedir. Wenn sie wie in den netcup Webhostings aktiviert ist. Mag sein, dass open_basedir bei Dreamhost nicht aktiv ist oder eben den ganzen Webspace plus einige notwendige Systemverzeichnisse freigibt. Deaktivieren kannst du es bei netcup im Webhosting nicht. Aber du kannst es so einstellen (PHP-Einstellungen, einfach die open_basedir-Variante mit WEBSPACEROOT wählen), dass du auf den ganzen Webspace per PHP zugreifen kannst. Wohlgemerkt, nur per PHP, der Apache darf das weiterhin nicht. Wenn du also meinst, dass das unsicherer sei als bei Dreamhost, dann ist es sehr wahrscheinlich nicht so. Eher andersrum, die Defaulteinstellung bei netcup ist sehr wahrscheinlich sicherer als bei Dreamhost. Sieht man ja schon daran, dass du dort anstandslos auf die ausgelagerten Dateien zugreifen konntest, hier aber nicht. Die zweite Antwort in deinem Link scheint davon auszugehen, dass PHP das immer darf. Das ist aber nur der Fall, wenn open_basedir inaktiv ist oder das entsprechende Verzeichnis freigegeben ist. In der Defaulteinstellung bei netcup ist es das Verzeichnis eben nicht freigegeben, sondern nur Verzeichnisse innerhalb und unterhalb des Dokumentenstamms (document root).
Die Ordnerstruktur bei netcup ist nur ein Vorschlag, du kannst den Dokumentenstamm einer Domain hinlegen wo du willst innerhalb deines Webspace. Nur wenn du die Defaulteinstellungen wählst, dann ist es eben so wie von dir beschrieben angelegt. Ob man php-Dateien unbedingt unter assets haben will? Ich nicht. Das ist ein Ordner, der typischerweise für den Apache-Webserver zugänglich sein sollte, weil der eventuell darin befindliches CSS oder Bilder ausliefern muss. Wenn man die php-Dateien nicht zugänglich haben will, dann gehören sie da eher nicht hin. Abgesehen davon, dass php-Dateien ja normalerweise durch den PHP-Interpreter bearbeitet werden und nicht einfach als Textdatei vom Webserver ausgeliefert werden. Normalerweise, bei einer Fehlkonfiguration eventuell nicht. Um dich fü diesen Fall abzusichern, kannst du deine Verzeichnisstruktur so anlegen wie bei Dreamhost und dann eben den gesamten Webspace für den Zugriff per PHP freigeben, wie es bei Dreamhost wohl auch sein wird, sonst würde es ja nicht funktionieren. Außer natürlich, du kannst dort explizit alles innerhalb von dh_abcxyz freigeben für PHP (aber nicht z.B. einen parallelen Ordner dh_defxyz).
Edit: Wegen der Pfade mit /var/www/...: Das sind die wirklichen Pfade, so wie der Webserver oder PHP sie sehen. Auf der Shell (SSH) bist du in einer chroot Umgebung,wo die Pfade dann eben anders aussehen.