The linux kernel has had native PPPoE support since 2.4.
Yes, that's the difference with rp-pppoe.so (using kernel module to handle encapsulation, userspace code only sets up the sockets) and pppd's pty option (got it a bit wrong in my other comment in this thread, believed it's a pipe, thanks for correcting) with separate process to do so. It doesn't really matter.
More than this, Linux kernel has kernel-mode PPP. But still a few parts of PPP, and all accompanying control protocols (especially authentication-related ones like EAP - you don't want that beast in the kernel!) are done in userspace.
There's no point in PPPoE without PPP. And if they say "without external pppd" this means they're going to ship a full-fledged PPP daemon.