Hello Adam,
you probably should write two separate statements
neighbor x.x.x.x default-originate
neighbor x.x.x.x route-map commchg out
The way you write it leads IOS to think you want to use a route-map not for filtering to/from the neighbor, but to conditionally advertise a default route depending on route-map result. This is the reason why the in /out is not available to you.
Confirmed
see command reference
http://www.cisco.com/en/US/docs/ios-xml/ios/iproute_bgp/command/bgp-m1.html#GUID-4A235C24-1F90-4C3C-881D-0A3550C29CD6
neighbor {ip-address | peer-group-name} default-originate [route-map map-name]
route-map map-name
(Optional) Name of the route map. The route map allows route 0.0.0.0 to be injected conditionally.
You can eventually use two different route-maps one to conditionally advertise the default route and the second one to decide what you are sending to the neighbor ( remember to allow the default route in this route-map)
Hope to help
Giuseppe