An Update to this
As I initially wrote that problem occurred with the H7 firmware update from FW_H7_V1.3.0 to FW_H7_V1.4.0. After being busy with other projects I resumed MCU programming still with the H7 family and meanwhile CubeMX is at V5.5 and H7 firmware at FW_H7_V1.6.0.
Good News the above problem seems gone.
When comparing the code generated now to before one finds some differences in the ethernetif.c file, the relevant to me seems in function low_level_input(...) :
old code:
#if defined(DUAL_CORE) && defined(CORE_CM7)
/* Invalidate data cache for ETH Rx Buffers */
SCB_InvalidateDCache_by_Addr((uint32_t *)RxBuff.buffer, framelength);
#endif
new code:
#if !defined(DUAL_CORE) || defined(CORE_CM7)
/* Invalidate data cache for ETH Rx Buffers */
SCB_InvalidateDCache_by_Addr((uint32_t *)RxBuff.buffer, framelength);
#endif
As you can see the #if has changed resulting that the call to SCB_InvalidateDCache_by_Addr is now active while it wasn't before.
My guess is that the ST programmers made a mistake when adapting the template file (ethernetif_h7.ftl) for the dual core H7x5x and later corrected it.
BTW: when using the ADCs again SCB_InvalidateDCache_by_Addr() is a good friend to make the DMA mode working.