Para cualquiera que venga aquí buscando la misma respuesta, pero para wlan0 o cualquiera que sea la interfaz no predeterminada en Raspberry/RPi, deberá sudo o ejecutar como root.
En mi caso, estaba ejecutando eth0 y wlan0, pero eth0 era mi NIC predeterminada. Ping funcionó sin sudo, curl no tenía un registro lo suficientemente detallado más allá de decir que la conexión se agotó y solo funcionó sin sudo en eth0. Traceroute finalmente me llevó a mi respuesta cuando el error decía "setsockopt SO_BINDTODEVICE:Operación no permitida"
Parece que la compatibilidad con curl --interface
opción
curl --interface eth0