This issue was originally reported in MQTT-417.
Line 2037-2039
"3) If the receiver does not already have a mapping for this Topic Alias
a) If the packet has a zero length Topic Name field it is a Protocol Error and the receiver uses DISCONNECT with Reason Code of 0x82 (Protocol Error) as described in section 4.13."
Why not use Return Code of 0x94 Topic Alias invalid?
The original discussion of 0x94 (Topic Alias invalid) is that it is outside of the valid range (>Maximum Topic Alias) and it is so documented.
I do not see any requirement for this change.