Ok, sounds like that 3hr after BT waking is habitual - have you tried wake to sleep? You basically go in an hour before he's likely to wake and stroke his cheek enough to make him stir but not wake (yes, its nerve-wracking for the sleep-deprived parent). That resets the sleep cycle and usually helps to train LO to sleep through that waking. You have to do it for about a week, then stop and see if it made a difference.
Totally normal at this age to have 1-2 night feeds, so I wouldn't feel bad about feeding if its been 4hr or more since his last feed. To this point, I'd not worry about waiting to see if he resettled around midnight, I'd just get up, feed as quietly and quickly as possible and put back into bed.
With him lying in bed for a long time in the morning, its hard to know how long he's been "awake" for the purpose of A time. I'd hazard a guess that is worth pushing that first nap later - its UT length and certainly not encouraging him to sleep later in the AM though you're getting an 11.5hr night which is ideal so it'll be a slow shift unless you jump to a 10am nap and resettle the inevitable OT waking from that nap to shift him to 7-7.