The free online PBX acts as bridge. For my asterisk, I add the free online PBX as a trunk. The client outside my asterisk registers to the same PBX.
The call process is a bit more complicated. Client dials an internal number(controlled by dialplan in the online PBX) to reach my asterisk(through inbound rules), then follows voice(menu) instructions(like pin-code or other stuff) to dial out.
I don't think it exposes your asterisk user. Your extensions can restrict to local network only.