What is the explanation behind the /p/ to /h/ phonological change from Halegannada to Kannada?
As @fdb already noted, this sound change is not rare cross-linguistically. It is typically not a one step process but a chain of sound shifts /p/ -> /pʰ/ -> /f/ or /ɸ/ -> /h/ (and finally /h/ -> nothing; as observed in the evolution of the Celtic languages from Proto-Indogermanic).
All the steps are frequently attested in isolation, e.g., /p/ -> /f/ from Proto-Semitic to Arabic, or from Proto-Indogermanic to Proto-Germanic; /f/ -> /h/ for Spanish.
This phenomenon is called debuccalization. Generally, this phonetic mutation is contextual. For example, in Berber (see Chenwi language) or Germanic (e.g.: hundred), it occurs in word-initial position. These debuccalized sounds had generally a primary or secondary posterior articulatory. So, maybe, your 'p' is not just a [p], but an aspirated consonant.
Before listing possible reasons for the change, below mentioned facts should be considered:
1) We can't pronounce words with /p/ much louder compare to /h/ (Try shouting Pogu and Hogu and observe the difference).
2) Not all the /p/ to /h/ phonological change occurred in Kannada. -Rarely used words are not changed (ex: Pashana(means poison)). -Words used in literatures are not changed (ex: Panditya, Prakara, Prashamse).
3) Labour class people using common words are mainly changed (Haru, Hattu).
4) Other Dravidian language still retain /p/ instead of /h/ changes. -Tulu, Tamil and Malayalam still retain /p/ in same words (ex: Pola/Po instead of Hogu).
Geographical terrain plays major role in change behind /p/ to /h/
-Kannada speaking area is called Bayalu Seeme which means plain ground, this area is surrounded by Western ghats and Eastern ghats and hence difficult to maintain communication with surrounding Tamil, Malayalam and Tamil people.
-In large agricultural ground area need to speak in louder with someone in longer distance(Now also construction workers from Bayalu seeme speak loudely).