Setting material opacity at runtime doesn't work for opaque materials

When setting the opacity of a material at runtime (using MaterialOwnerRequestBus), this has no visual effect when the material originally has opacity=100. Note that the opacity as reported by MaterialOwnerRequestBus does change; but there is no visual change. If the opacity is set to anything except 100 initially, changing the opacity at runtime works as expected. (Lumberyard version is 1.14)

Here is a short script displaying the problem. To test it, create a new level (or open any level that has an entity with a mesh component) ; attach this script to that mesh entity. If the material has opacity=100, then there is no visual effect. If the material has opacity<100, it works as expected.

   local Test = { Properties = {} }
function Test:OnActivate()
self.tickBusHandler = TickBus.Connect(self);
end
function Test:OnDeactivate()
self.tickBusHandler:Disconnect();
end
function Test:OnTick(deltaTime, timePoint)
if (not MaterialOwnerRequestBus.Event.IsMaterialOwnerReady(self.entityId)) then return; end;
local opacity = MaterialOwnerRequestBus.Event.GetParamNumber(self.entityId, "opacity", 1);
Debug.Log("The opacity is " .. tostring(opacity));
if (opacity < 0.01) then self.tickBusHandler:Disconnect(); end;
MaterialOwnerRequestBus.Event.SetParamNumber(self.entityId, "opacity", opacity * 0.995, 1);
end
return Test;