Reproducible on Pop!_OS too. I guess a pinned variable expects an exact match.
my_map = %{foo: :bar}
^my_map = %{foo: :bar, baz: :qux}
** (MatchError) no match of right hand side value: %{baz: :qux, foo: :bar}
This behaviour shows in Erlang, too
#{foo := bar} = #{foo => bar, baz => qux}.
returns #{baz => qux,foo => bar}
MyMap = #{foo => bar}.
MyMap = #{foo => bar, baz => qux}.
** exception error: no match of right hand side value #{baz => qux,foo => bar}
This happens because the pin is used to match a value in a pattern. The value in this case is %{} and the RHS doesn’t match it. Patterns are not first class in Elixir or Erlang, so you cannot store them in variables and use for matching.