Good questions there.
First of all, a terminology nit-pick here - PPPoE is a layer 2 protocol, and IP is a layer 3 protocol, so you’re still giving customers TCP/IP service even if the connection is riding PPPoE. If you have a LAN in your house, then the computers connect to the router with TCP/IP too - but the layer 2 protocol is ethernet or WiFi. Think of it like containerized cargo shipping. The container gets removed from the truck trailers and then stacked on ships, or else stacked on flat bed trains, or get placed on the bed of another truck. The container itself never changes, but it rides several modes of transportation. PPPoE would be like the train and TCP/IP would be the container itself.
Anyway - on to your technical questions.
MTU - yes, you could use a 1500 MTU for your PPPoE sessions as long as the delivery media supports a high enough L2MTU - everywhere. I think the biggest obstacle you’re going to encounter would be SOHO routers like Linksys, Actiontec, etc devices - which may not support L2MTU greater than the default on their ethernet interfaces. If you’re using Mikrotiks as CPE as well, then this shouldn’t be a problem. However, if you cannot use 1500 MTU, just enable the “adjust tcp mss” option, and the Mikrotik will inspect the MSS value whenever new TCP sessions are being built on connections through your router. If the value is too high, then it will modify it down to fit inside the MTU of the PPPoE session.
As for performance, yes, it will take a little more resources to drive PPPoE but not a whole lot - The PPP segment format is pretty simple so the act of encapsulating each packet isn’t going to be terribly expensive. It will be a little more load if sessions are flapping because the negotiation of the session parameters is going to be a little more costly, but as long as your network is stable, this shouldn’t be a big problem.
Reaching 100Mbps speeds should be quite doable as long as the CPE is also hefty enough for the job.
As for a hybrid approach, I would suggest that you try to be consistent across your entire service. The headache of supporting multiple connection types can haunt you in unexpected ways. There isn’t an obvious cost for this, but if it takes longer to train technicians and it takes longer for tech support to figure out what’s going on when a particular customer calls, or if someone makes a configuration mistake and you have to spend time correcting it - these are subtle ways that your business won’t be as efficient and it will end up taking a real toll on your ability to quickly roll out customers and new services. You could even end up in a constant state of treading water where you’re never able to get things organized because you’re rolling out new spaghetti bowls just as fast as you can clean up the old tangles.
This isn’t to say that you can’t do a hybrid approach, but plan well and execute according to the plan so that you don’t get lost in minutia on each customer. I was trying to steer my previous company’s deployment model to use PPPoE for several reasons - it is easy to deploy because you just make the same VLAN go to each customer - or else you break it up into a few VLANs in order to minimize the broadcast area size… It is easy to assign IP addressing to each customer - just put their address assignments into their RADIUS profile and you’re done.
The thing that kept us from doing it is that QoS wasn’t possible for us with some of our network gear when using PPPoE. Some key access networking equipment would not inspect the IP packet headers for DSCP information if it found a PPPoE packet, so this was a show stopper for us. If you’re not trying to deliver voice services, then this wouldn’t be an issue for you.
I hope these insights are helpful for you, and good luck with your deployment.