Even using /30 + /29, you can only connect 5 customers, leaving a single /30 unallocated.
(/26 = 64 addresses, /29 = 8 addresses, and /30 = 4 addresses - 5x8 + 5x4 = 60 addresses consumed, with a single /30 remaining)
You could spread this a lot thinner by using /32 assignments per customer, and if the customer needs two addresses, put two /32s on their interface, or three of them, etc.
Each customer needs their own isolated layer2 interface (in other words, no single VLAN that goes to all customers - each customer has their own VLAN or their own physical connection to your router)
On each customer vlan interface / physical interface, you will set arp=proxy-arp
Then for each address you assign to that customer, configure the IP as follows:
Assign the lowest usable address from your /26 as the “default gateway” for all customers - e.g. if your public range is 192.0.2.64/26 - assign 192.0.2.65 as the default GW address for all customers.
Then suppose customer 1 gets 192.0.2.89/32 as their public IP:
/ip address add interface=customer1 address=192.0.2.65/32 network=192.0.2.89
If the customer gets a second IP, say 192.0.2.91 - then add that to the same interface:
/ip address add interface=customer1 address=192.0.2.65/32 network=192.0.2.91
Basically, always add the same address/32 to your router (the default GW address) and use the customer’s IP as the network address.
If you have multiple routers in your network, then you’ll need to make sure that the individual IPs get routed to the correct routers using either static routes (yuck) or OSPF.
The customer will configure their equipment as a normal /26 interface - if customer1 is using a Mikrotik router, they would do this:
/ip address add address=192.0.2.89/26 interface=ether1-gateway
/ip address add address=192.0.2.91/26 interface=ether1-gateway
If you do your network this way, you’ll be able to have up to 61 public IP address customers.
If you’re using PPPoE, then assigning 1 IP per customer is pretty much built-in - just set the remote-IP to be their single address, and add framed-route=x.x.x.x/32 for any additional IP addresses you may give them.