As far as we are aware the pagetimes do work correctly in loops. What you should see in the data is sys_pagetime_2.1 (meaning page 2, first time through the loop), sys_pagetime_2.2, etc. You are correct that the values should be in seconds.
Could you let me know what version of the software you're using and where are you seeing the it labeled as milliseconds? For example are you exporting to a .csv? Is it in the labels file? I've not been able to find it in my quick testing.
We are aware of a bug in the pagetime() Sawtooth Script function, but the individual sys_pagtime values in the Database are correct. If you are looking for the total sum of all the pages the respondent has seen so far, you can use GETVALUE('sys-SumPageTimes') as Saurabh suggests below. If needed in the meantime I can help with an unverified perl solution to calculate pagetimes using a range.
The fix to the pagetime() function will be included in the next release of Lighthouse Studio.
If you could still let me know where it says that number is milliseconds that would be great!