Non credo "passi" all'utf8 in automatico, cioè quello che intendo è che l'utf8 può essere visto come un estensione del charset ascii, poiché:
L'utf8 per indicare caratteri che necessitano al max di 7 bit per essere rappresentati utilizza solamente un byte, di cui il primo impostato sempre a 0 (questo comportamento cambia con sequenze che richiedono più di 7 bit, ad esempio se sono richiesti 8 bit utilizzerà 2 byte e i primi 3 bit saranno 110 + 5 volte 0 di padding)
L'ascii utilizza un signed-byte(per ragioni a me ignote lol) con segno sempre positivo (quindi il primo bit è sempre 0)
Quindi è effettivamente impossibile differenziare l'ascii dall'utf8 se vengono utilizzati solo i 127(null char non contato) caratteri messi a disposizione dall'ascii (a meno che non vi sia la presenza ddl BOM)