I figured some rules that you need to respect when applying dim option:
1. you cannot use revert
When you specify the revert option, the background is still merged, even with fg attributes.
This means that dim attribute gets through -> revert the value directly in the face definition.
2. You need to specify both foreground and background
If background is missing, even if you use a @base or you fg, the background default will be merged with the dim one.