Da quello che posso vedere, tutto si riduce a mysql non essere in grado di gestire parametri denominati.
Laravel ha la modalità di emulazione disabilitata per impostazione predefinita
. Si può abilitarlo in config/database.php aggiungendo 'options' => [PDO::ATTR_EMULATE_PREPARES => TRUE] alle impostazioni di connessione. In questo modo otterrai lo stesso risultato di php puro. Non sono sicuro che sia una buona idea, però.