Incremental encrypted per database backup and Partial restore policy for MySQL 5.7 in replication setup
After digging a bit and also based on this page I have a solution that seems to work fine.
Step 1: Decompress and decrypt backup files
xtrabackup --decompress --decrypt=AES256 --encrypt-key=&quot;GCHFLrDFVx6UAsRb88uLVbAVWbK+Yzfs&quot; \ 
    --target-dir=/data/backups/db_xxx/full --remove-original
xtrabackup --decompress --decrypt=AES256 --encrypt-key=&quot;GCHFLrDFVx6UAsRb88uLVbAVWbK+Yzfs&quot; \
    --target-dir=/data/backups/db_xxx/incr_1 --remove-original
xtrabackup --decompress --decrypt=AES256 --encrypt-key=&quot;GCHFLrDFVx6UAsRb88uLVbAVWbK+Yzfs&quot; \
    --target-dir=/data/backups/db_xxx/incr_2 --remove-original

Step 2: Prepare the data

As we just want to restore one database and not the full mysql server data we pass --export to generate ready to copy files.
We pass also --apply-log to all backup except the last one (from the docs I linked in the question)

xtrabackup --prepare --apply-log-only --target-dir=/data/backups/db_xxx/full/ --export
xtrabackup --prepare --apply-log-only --target-dir=/data/backups/db_xxx/full/ --incremental-dir=/data/backups/db_xxx/incr_1 --export
xtrabackup --prepare --target-dir=/data/backups/db_xxx/full/ --incremental-dir=/data/backups/db_xxx/incr_2 --export

Step 3: Restore the data
Now we need to replace the table files without deleting the database.
mysql&gt; SELECT CONCAT( 'ALTER TABLE ', a.TABLE_SCHEMA, '.' a.TABLE_NAME, ' DISCARD TABLESPACE;' ) AS 'DISCARD TABLESPACE'
    -&gt; FROM information_schema.tables a WHERE a.TABLE_SCHEMA='foo';
+-----------------------------------------------+
| DISCARD TABLESPACE                            |
+-----------------------------------------------+
| ALTER TABLE foo.t1 DISCARD TABLESPACE;        |
| ALTER TABLE foo.t2 DISCARD TABLESPACE;        |
+-----------------------------------------------+
1 row in set (0.00 sec)

cp -a /data/backups/db_xxx/full/foo/* /var/lib/mysql/foo/
chown -R mysql:mysql /var/lib/mysql/foo/

mysql&gt; SELECT CONCAT( 'ALTER TABLE ', a.TABLE_SCHEMA, '.' a.TABLE_NAME, ' IMPORT TABLESPACE;' )
    -&gt; FROM information_schema.tables a WHERE a.TABLE_SCHEMA='foo';
+-----------------------------------------------+
| IMPORT TABLESPACE                             |
+-----------------------------------------------+
| ALTER TABLE foo.t1 IMPORT TABLESPACE;         |
| ALTER TABLE foo.t2 IMPORT TABLESPACE;         |
+-----------------------------------------------+
1 row in set (0.00 sec)