Allora in $valore c'è la data passata tramite una casella di <input type="text"> e contiene la data nello stesso formato di mysql, ovvero
yyyy-mm-dd.

ho provato ad effettuare il cambiamento che mi hai suggerito, ma niente...
per vedere cosa mi veniva visualizzato in $valore, ho inserito una stampa della query eseguita da mysql, la quale è ad esempio

SELECT * FROM elemento WHERE scadenza < STR_TO_DATE('2021-02-03' , '%d/%m/%y') ORDER BY nome ASC;

se io la stessa stringa la eseguo su mysql query browser, funziona.... non ci sto capendo niente!
l'ipotesi che ho avuto in questi giorni, è che forse il formato di $valore non è compatibile con DATE di mysql, e per questo ho usato la funzione STR_TO_DATE per trasformare la "ipotetica" stringa $valore in un valore DATE, ma non fa....