Ho risolto.
Una cazzata, ma che è effettivamente legata al tipo di politica adottata dall'hoster.
Ma era molto meno complesso di quanto mi figurassi all'epoca della discussione.
Ero abituato alla prassi del vecchio hoster, che mi faceva root diverse per i vari sottodomini.
Ma era una pratica infinita farsi fare i sottodomini, aprire i db etc etc.
L'ho cambiato non per nulla.
Il nuovo hosting invece usa un Virtual Host Unico, e i sottodmini me li faccio da solo via pannello.
Quindi il server genera il sottodominio ma lo 'stiva' creando una cartella nella root del dominio di secondo livello.
Questo rendeva normali htaccess (dei cms, o anche scritti a mano) inservibili senza la banalissima regola per i terzi livelli - che non avevo considerato, stupidamente.
Aggiungendo queste due righe al normale htaccess funziona tutto.
RewriteEngine on
[html]RewriteCond %{HTTP_HOST} ^sottodom.miosito.com$
RewriteRule ^/(.*)$ http://www.miosito.com/sottodom/$1 [L,R=301]
[/html]A futura memoria...
Edit: per una memoria non ballerina. Questa regola va aggiunta all'htaccess che si trova nella root principale del dominio di II livello (non nel terzo!!).
Nella root del sottodominio poi si potrà invece aggiungere l'htaccess del cms o dell'applicazione che si vuole installare.