Short update:
Part of the problems were caused by errata in STM32H7 devices:
"With the system clock (spi_pclk) substantially faster than SCK (spi_ker_ck divided by a prescaler), SPI master
data transfer can stall upon setting the CSTART bit within one SCK cycle after the EOT event (EOT flag raise)signaling the end of the previous transfer."
Got distracted and tried dozens of combinations of clocks and SPI speeds. Found nice traffic on logic analyzer in one debug session and complete garbage in very next one, without changing code in between.
Then decided to move project to STM32G491 nucleo board that has SPI part in errata substantially cleaner. Using CubeMX made this move 1hour job.
Mangled data appeared again and I started debugging more thoroughly.
max3510x_read_registers contains following call to SPI driver level:
max3510x_spi_xfer( p_max3510x, p_reg, p_reg, size );
STM32 spi hardware with same transmit and receive data pointer registers was doing not so funny things. Data that looked almost right.
Adding temporary buffer fixed SPI traffic and I got proper interrupts from ultrasound chip.
Seems my understanding for software stack is on track and just need to emulate that in FreeRTOS.
It will be nice if git that I need appear in AD's repo, but it is not end of the world if it doesn't.
Makes me more aware of how much proper comments in code are helping and shorten development time.
Maybe I will try again with STM32H745 because I like nice display with TouchGFX, but decoding that wording "substantially faster" doesn't sound like fun job.
Arduino git for max326xx doesn't provide info that I need. Have heard for Internet Archive several times but I have no idea what is that, where to find it and how it works. Google gives me nonsense links if I search for that.
Thanks to all of you that helped with replays and reading my thoughts.