This seems to be a little under the radar, but Chromium 140 ships with (experimental) support for caret-shape! https://polypane.app/experimental-web-platform-features/?search=caretshape
Instead of a regular bar, you can also have a block (like insert) or underscore (great for 2fa codes and other digits)