I have a widget script that works great on the home screen, as “regular” widgets. On the lock screen as an inline widget, or a circular widget, they seem to almost never refresh on their own. Looking at it now, it’s 3 hours old.
Here’s the relevant code…
const w = new ListWidget();
w.refreshAfterDate = new Date(Date.now() + 30000);