I'm a bit too late to comment, but fix for this bug brakes Table Width plugin [1]. The table handler becomes greedier than the plugin and disregarding the sort order table hendler wins if there is an empty line in front of a table. The strightforward fix for the plugin would be to use the same pattern (\s*), but that breaks another use case:
|< 50% >|
| row 1 |
|< 75% >|
| row 2 |
With \s* at the start of plugin pattern the plugin eats \n at the end of row 1, and table handler does not see the end of the first table, producing a single table with two rows. The only workaround in the plugin that I could think of so far is to detect presence of Doku_Handler_Table and inject table_end call if needed. But obviously that's too ugly.
A proper way to fix this IMO would be by changing \s* to [ \t]* in DW codebase. Though I'm not sure if that will break other use cases. Actually, I wonder why cdata handler did not consume that space in the first place, but I don't feel like digging into that as well :)
[1]
https://www.dokuwiki.org/plugin:tablewidth#compatibility