Workarounds and an explanation of why it happens: Workarounds for darkening of disabled UMG widgets - Caius' Blog
TL;DR: this is hard-coded functionality built into UWidget::SetIsEnabled
. The only way to avoid that is by not using the built-in Enabled field, making a widget in C++ that lies to the renderer about being disabled, or modifying the engine.