the if statement above may be removed to keep the default logic only in Axis. Right now one can pass a callable directly (although that's not documented), and the default behaviour from #16715 is triggered. However, I guess making this change for format strings would imply a deprecation cycle, as it breaks current behaviour. Another option would be to check in Axis._set_formatter for what kind of string format we've been passed (unsure how, although there must be way).
Activity
[ENH]: Use new style format strings for colorbar ticks