dm_db_index_operational_stats showing more blocking than extended event report
You are comparing totally different things which are not comparable.

XE trace you are capturing an event called sqlserver.blocked_process_report which is described here. 

Here you are capturing all kind of blocking exceeding a fixed amount of time.  If it is less than that duration (set up by sp_configure 'blocked process threshold') it will not be captured by this event.


  The Blocked Process Report event class indicates that a task has been
  blocked for more than a specified amount of time. This event class
  does not include system tasks or tasks that are waiting on non
  deadlock-detectable resources.


Your second collection using dm_db_index_operational_stats only counting waits for row and page lock. It is also cumulative since metadata for the heap or index is brought into the metadata cache and statistics are accumulated until the cache object is removed from the metadata cache. 

Details here: https://docs.microsoft.com/en-us/sql/relational-databases/system-dynamic-management-views/sys-dm-db-index-operational-stats-transact-sql


row_lock_wait_count: Cumulative number of times the Database Engine
waited on a row lock.
page_lock_wait_count: Cumulative number of times the Database
Engine waited on a page lock.