I just tried an example. I've uploaded the example layer I used.
You must also add the new layer path to bblayers.conf at the bottom.
My example is from my iot-devkit build so slightly different than yours, but yocto should still process it the same. This example layer applies my patch file as the last patch applied. (Of course 'git log' shows it at the top.)
Thank you very much for your example layer. I finally found out the root cause:
My patches were applied first because in my .bbappend, I also added a config file (*.cfg). If I removed this config file, it works normally.
I really don't know why it behaves like this. My workaround is creating another recipe folder to add the config file only.