Fíjate que has cambiado el código.
Cita: f(a[desde] % 7 ==0){
cont++;
return cont;
ahora lo has convertido en
Cita: if(a[desde] % 7 ==0){
return cont++;
}
Por lo tanto está diciéndole que te devuelva cont, y después le sume uno, cuando antes le sumabas uno y devolvías cont.
La diferencia está en donde colocas el ++
Prueba
int a = 0
System.out.println(++a)
int b= 0
System.out.println(b++)
y verás la diferencia