Note: SRG names are used and probably differ from the real names of MC classes/methods/etc
Based on MCP inspection, the current Minecraft Client receives information from the server about potion effect updates via packets of type S1DPacketEntityEffect. These packets are then transformed back into PotionEffect s which are available to the client. However, S1DPacketEntityEffect does not carry the effect isAmbient property... it is ignored, and so the client incorrectly thinks that all effects are non-ambient.
This can be tested by any MC dev or person with MCP using System.out. First, get a reference to the player (Minecraft.getMinecraft().thePlayer). Then, while the player is within the range of a beacon and is receiving an effect, print out the Collection returned from thePlayer.getActivePotionEffects() (or write the entity to a new NBTTagCompound and print that out instead). You will notice that the Ambient property of every effect is incorrectly set to 0b / false.