Behaviour of Coefficient[] for negative exponents in rational expressions

I’ve observed a puzzling behaviour of Coefficient[] for negative exponents and I’m wondering if I was always just relying on undefined behaviour or if there is a bug in recent versions of Mathematica.

So far, if I had an expression of the form

expr = a/x + b/(1+x) + c 

and ran

Coefficient[expr,x,-1] 

I’ve always gotten

a 

as the answer, which made a lot of sense to me. I’ve tried this with a number of different versions of Mathematica (all on Linux if that matters) that I had access to and the behaviour described above is true for 8.0.0, 8.0.1, 8.0.4, 9.0.0, 9.0.1, 10.0.0, 10.0.1, 10.4.0, 10.4.1, 11.0.0 and 11.0.1.

With 11.1.0, 11.1.1, 11.3.0 and 12.0.0 I got the answer

a + b/(1+x) 

which I find a bit weird, but maybe I can come up with a rationale behind this.

Finally, with 12.1.1 I get

a/(1+x) + b/(1+x) + c/(1+x) 

which makes absolutely no sense at all to me.

My question is: Is this a bug in the newer versions of Mathematica or was the answer of 8.0.0 to 11.0.1 always just undefined behaviour? And is there a workaround, which would allow me to extract the coefficient a from expressions like the one above (i.e. after partial fractioning a rational function, take only the term that is multiplied by x^k with k a negative integer)? If this is indeed undefined behaviour, shouldn’t Mathematica issue a warning or something like that in this case?