UPDATE
krpano at version 1.20.6
So after a few hours I found the cause of the problem but no solution to it:
The lags are coming from the videointerface.xml skin, but only if the video time is updating, so if I call the "skin_video_setup()" method (see bellow).
I'm using the bellow code for about 5 years now and worked just fine (except that I was using the old skin 1.18 where there were 2 different methods to initialize the playback skin), but if anybody notices a problem with the bellow code please let me know.
The application is generating an xml file on the phone and initializes as follows:
<krpano>
<include url="%SWFPATH%/plugins/webvr.xml" />
<plugin name="WebVR" mobilevr_fake_support="true" mobilevr_wakelock="false"/>
<layer name="webvr_button" ondown="video_auto_start();" />
<control mousetype="drag2d" touchzoom="true" zoomoutcursor="true"/>
<view fovtype="VFOV" fov="90" fovmin="40" fovmax="150" />
<plugin name="video" keep="true" url.html5="%SWFPATH%/plugins/videoplayer.js" videourl.no-ios="LOCAL FILE NAME HERE" videourl.ios="LOCAL FILE NAME HERE" loop="true" pausedonstart="true" visible="false" onvideoready="loadscene(video_scene, null, MERGE|KEEPVIEW|KEEPMOVING, BLEND(1));"/>
<events name="video_events" devices="mobile.or.tablet" keep="true" onmousedown="video_auto_start();" onremovepano="if(xml.scene != video_scene, plugin[video].seek(0); plugin[video].pause(); );"/>
<action name="video_auto_start">if(video_auto_start !== true,if(plugin[video].ispaused,plugin[video].play();delayedcall(0.1, plugin[video].pause() );set(events[video_events].onmousedown, null);set(video_auto_start, true);););</action>
<scene name="video_scene" onstart="plugin[video].play(); skin_video_setup();">
<include url="%SWFPATH%/skin/videointerface.xml" />
<image><sphere url="plugin:video" /></image>
</scene>
</krpano>