When you see weird syntax I suggest doing FullForm[Hold[whatever]] which is kind of like doing quote and macroexpand in a Lisp.
f[#u, #v, #u] &[<|"u" -> x, "v" -> y|>] // Hold // FullForm =>
Hold[Function[f[Slot["u"],Slot["v"],Slot["u"]]][Association[Rule["u",x],Rule["v",y]]]]
FullForm[Hold[f[#u, #v, #u] &[<|"u" -> x, "v" -> y|>] // Hold // FullForm]] =>
Hold[FullForm[Hold[Function[f[Slot["u"], Slot["v"], Slot["u"]]][Association[Rule["u", x], Rule["v", y]]]]]]