Never seen a so complicated selection string
You know this:
https://www.makemkv.com/forum/viewtopic.php?f=10&t=4386
The problem is here: +sel:audio*multi*lossless*(!core)*havecore*eng"
You are selecting only "multi" and "lossless", but not "stereo" or "mono", and not "Core" but "HaveCore" all in ENG, sounds very complicated for me. I can only say, keep it simple, more specifications means, more can go wrong.
A simple string looks like this: -sel:all,+sel:(ger|eng|nolang),-sel:(havecore),-sel:mvcvideo,=100:all,-50:ger,-10:forced
This selects all tracks for some languages and deselect any lossless track if a core is available, because I do not need in most cases an lossless track (no benefit and the size can be huge). The difference to your selection is, I use a language based track selection and deselect what is not needed. So maybe I have to much in the mkv (can be corrected with MKVToolNIX) but you select only very specific tracks and miss some if the selection does not match.
*Edit*
You are using * to specify more selection options. But " means
* - alias for "&", logical and " .... not sure what is selected with this, but I think in most cases nothing is selected. If your logic should work it should be coded as +sel:audio(multi|lossless|(!core)|havecore)&(eng). The| part selects one of specified channels layouts but only for language ENG. But anyway, it's still to complicated.