While automating things is generally a good idea, configuring a system for Pi-hole and unbound heavily would depend on actual system parameters as well as user preferences.
This would apply in particular (but not limited to) to your personal choice of adlists.
Your ansible playbooks may match your personal preferences, but it's highly likely it won't be applicable for others.
Also, installing Pi-hole is a one-time job.
You'd probably run a Pi-hole system for years after, and by the time you may opt for a clean installation, your ansible playbooks may suffer from a fair bit of rot, so you may not be able to run them anymore.
On top of that, your playbooks are making some questionable choices which are bound to cause issues.
As far as I can tell after a quick browse, they won't run on all systems supported by Pi-hole, as they are making use of apt only as package manager, disregarding rpm/dnf/yum.
They are blindly setting kernel options that are not required for Pi-hole's operation, and may actually lower some values on systems, or are best left untouched altogether.
By setting values explicitly, you are also preventing the system from picking sane values based on its actual environment itself.
Similar happens for unbound, where increasing cache sizes to 150 MB (up to 25 times from the default) may cause swapping on memory constrained systems if actually used (I run Pi-hole on a 256M system).
Interfering with minimum TTLs may have a detrimental effect on Pi-hole's cache optimisers, potentially resulting in resolution issues and/or clients to use outdated information for longer than necessary.
Both Pi-hole and unbound have better methods of reducing client latency for expired records, and both of those may be negatively affected by fiddling with minimum TTLs.
It also unnecessarily shifts responsibility for updating root hints from the package manager to the user, by manually downloading and installing them into a custom location.
Also, the current playbook is introducing a logrotate for some of Pi-hole's log files which would conflict with Pi-hole's own logrotate configurations.
It would also wipe Pi-hole's cache once a day, which I wouldn't consider an optimisation.
The nftables rules set may interfere with different firewall packages on a system as installed by a user.
It's also using a fixed range of ports, which may ruin user configurations that run additional services next to their Pi-hole, and if you'd e.g. opt to move your webserver to port 8081, you'd have to remember to update nftables rules yourself.
In their current form, I'd advise other users against using the playbooks, as they may negatively affect your Pi-hole experience, and neither would they lend themselves for use as a template, for a lack of comments on why a specific parameter is used and how it is intended to affect/improve default behaviour.