Evaluation: the method View.forwardUpdate() does not send update event to the view located right after the changed place. It looks like, this behaviour is caused by complexity of View.forwardUpdate() since the method is responsible for sending updates to all types of views available in the system.
Suggested fix: revert the changes added for JDK-8014863 and override forwardUpdate() method for LogicalView class located at FlowView. LogicalView.forwardUpdate() sends update event to all views followed by the changed place. This event will cause view to drop the cache and re-calculate its break points. The fix does not cause the break spots re-calculation every time when a view is laid out. It initiates the break spots re-calculation only when an update of a document takes place.