$conn = new PDO('mysql:hostname=192.168.1.4;dbname=DB_TEST;port=3306','username','password');
debería ser
$conn = new PDO('mysql:host=192.168.1.4;dbname=DB_TEST;port=3306','username','password');
hostname
no es válido para dsn
y así PDO
ignora el host y usa el valor predeterminado, que es localhost