Keyword::Declare isn't a source filter in the usual sense. Rather than pre-process the source before Perl parses it, it installs hooks into the Perl parser so that your custom parsing routines can be called when Perl encounters a new keyword you've defined. In general, this is definitely a better approach than source filtering.
That said, I don't think it would work for your particular case because you want the ability to parse a normal-looking sub call specially (inline it) depending on how the sub had been declared (with the inline prefix) elsewhere in the file. In that case there's no keyword to hook into.