I found the problem.
In the network's settings there is "Re-fetch period (mins)" with default value 60.
I changed this to 3000, restarted Tvheadend (without restart new value didn't apply, maybe bug?) and so far all my channels works fine..
Regarding your question - yes, if open my m3u list in browser then all channel's urls changes on each browser refresh. And probably this "Re-fetch" action works similar as refresh in browser. On the other hand - If I do "Force Scan" manually then all urls remain the same in appropriate muxes and my channels continue to work.
So next questions came up:
1) Is it possible to disable re-fetch action at all ?
2) If I need to re-fetch channels from playlist from time to time, then is it possible to automatically map them to the existing channels with same names?