The basic issue (unfortunately) is a constraint of the UML 2.5 metamodel (which was not present in 2.1.1). This allows assembly connectors only between Property metaclasses (being Port and ExtensionEnd). So when you're doing the above from a port to another port you will see the assembly in the quick linker.
If you want assmeblies between components you have to use them explicitely from the toolbox.
(Either show the Composite toolbox or go via the context menu)
I'm using them during early design since I know that I'll replace them later when I got the real interfaces. However, one must know that such a model is not compliant to the UML standard. But who cares about standards if you can make your own ;-) ?
Original answer (probably still usefull)
The top is just an assembly connector. Use that for a first sketch when you have no details about interfaces.
The middle one is the preferred one in design. You draw a dependency relation from the required to the provided IF (pointing left to right).
The lower one is not ok. You use an assembly in conjunction with a real provided IF with the assembly being oriented the wrong way. I suggest to use that assembly only in an early design stage and once you get the IF right (sockets and lollipops) to connect these with a dependency.
Since EA behave consistently inconsistent: In order to create an assembly you can not use the quick linker. Dragging from one component to another just offers
Rather with the component diagram focus hit the space bar and you get the toolbox
Select the assembly connector (you could as well have the toolbox window open and select the connector there, but I prefer this way). Now you can drag from source to target component.