I posted to Stack Exchange, and they recommended that I file a bug. I'd rather not copy+paste it all, so here's the link:

https://unix.stackexchange.com/questions/579889/why-doesnt-this-sed-command-replace-the-3rd-to-last-and

here's an example

> echo 'dog and foo and bar and baz land good' |    sed -E 's/(.*)\band\b((.*\band\b){2})/\1XYZ\2/'

expected output: dog XYZ foo and bar and baz land good
actual output: dog and foo XYZ bar and baz land good

here's my sed --version output: sed (GNU sed) 4.2.2

I hope this is helpful, cheers!