Found a solution, neither of these fonts define themselves as mono-spaced,
the solution is to force this.
This can be done in fonts.conf or through the font specifier.
Cascadia Code-13:spacing=90 (dual spacing)
JetBrains Mono-13:spacing=100 (mono spacing)
Modifying the fonts.conf is meant to work too, although I couldn't get it working. See link.
As far as I can see, the problem is that enriched-face-ans does not consider inherited face attributes when it queries attributes with function face-attribute.
It should call face-attribute with the INHERIT argument set to t.
I assume that failing to do so is a bug in enriched-face-ans.
Maybe, you should file a bug report to email@example.com.