La cpe puo' prendere IP della classe 10.0.4.0/24 e deve avere come gateway il localIP del server quindi 10.0.3.1. E' corretto.
Se io faccio un tracert dalla CPE vedo come primo hop il localIP del server pppoe
10.0.3.1 e come secondo hop l'ip del router gateway che è nexthop per il server pppoe che è una sottorete diversa da quella su cui sta 10.0.3.1. Ho in pratica spezzato la 10.0.3.0/24 in tre sottoreti ma non è il tuo caso. L'IP 10.0.3.1 NON e' assegnato a nessuna interfaccia!!!! L'interfaccia verso Internet ha un IP che può dialogare con il router. Sull'interfaccia rivolta verso la rete CPE dove esce il pppoe server ho inserito un IP per ogni classe del pool. Es . nel tuo caso 10.0.5.254/24 10.0.5.254/24 ecc......
Poi controlla la tabella di routing e dovrebbe andare.