Summary field will update when the record is commited. When you go to the next field in the same portal row the record is not being commited. You will have to commit the record. You will have to commit the record with a calculation field also but there is some other items that can effect the calculation. You may have to set the storage option on the calculation field to not store but recalculate as needed.
But that does not explain why if I go to the next portal row, the related fields are not refreshed. Only if I click outside of the portal, does it work as expected.
Please check the video again. If I tab to the next field in the same portal row, the calculation field in the same portal row is updated. But the calculation and summary fields in the related table are empty. But I know the field has been committed because if I go to another record and come back to it, then everything works as expected.
The record is automatcally commited when you leave the current record or click outside the current record. You have to use a script with commit record and refresh window with flush cached join results checked. Use a script tigger such as OnObjectExit to perform the script, so it will update immediately.
But commit records will lose the focus on the current portal row and Refresh Window [flush cached join results] is a step best avoided when possible--it can lead to significant delays while waiting for your layout to update.
Instead of a summary field from the related table, try using a calculation field defined in the parent table that uses an aggregate function such as Sum to compute the same value. It will refresh much more smoothly.
If you script a commit records step, be prepared to first capture the current row number and active field in variables. Then add more steps after the commit records step to return the focus to the correct portal row and field.