You need to piece together several definitions from the language specifications to understand what's going on:
First is Assignability:
x's type V and T have identical underlying types and at least one of V or T is not a defined type.
Then you need to examine your V and T.
In your first code snippet you have type text []byte (the V) and a function AppendQuote whose required argument is []byte (the T).
Do V and T have identical underlying types? Yes. text's underlying type is []byte by your definition, and []byte is a composite type, whose underlying type is itself. From Types:
Each type T has an underlying type: If T is one of the predeclared boolean, numeric, or string types, or a type literal, the corresponding underlying type is T itself
and the paragraph just above that:
Composite types —[...] slice, [...] — may be constructed using type literals.
And, is at least one of V or T not a defined type? Yes, []byte as stated above is a composite type.
Hence a variable of type text is assignable to []byte, including passing arguments to a function.
In your second code snippet you have type text string (the V) and a function Quote whose required argument is string (the T).
Do V and T have identical underlying types? Yes. One by definition, and the other one is the predeclared type string (same quote as above).
Finally, is at least one of V or T not a defined type? No! Both are defined types. text is defined by you and string is defined by the language specs in String types:
The predeclared string type is string; it is a defined type.
So assigning text to string does not meet the conditions for assignability and it gives a compiler error.