It's technically not incorrect, nor inconsistent with XF1 which had the same behaviour.
The last activity value displayed is what is in the xf_user table for the user; this is only updated periodically.
The change we've made will now see this coming from the xf_session_activity table if the user is active, or from the cached value in xf_user if not.