Hello David
wow, nice project!
Regarding power supply via 5v bus. There is a function called SetBusPowerMode() which allows to switch between internal 5v boost (default) and being powered externally, e.g. from 5v bus. Unfortunately it is broken and the pull-request I've posted a while ago has not been merged yet. If you're interested you can still give it a try:
https://github.com/m5stack/M5Core2/pull/10
Calling the function in setup() with input parameter set to 1 switches to external power and the 5v from the bus are taken to power the Core2. It also charges the battery.
e.g. M5.Axp.SetBusPowerMode(1);
Note: Without battery installed you'll need to modify the existing call to this function in void AXP192::begin(void) else the M5Core2 cuts itself off shorty after booting.
Greetings from Winterthur
Felix