I doubt dropping the existing constant visibility information is intentional behavior. You can work around the current behavior by resetting private_constant/deprecate_constant inside the autoloaded file, but that leads to duplication.
Attached is a patch that will copy the constant visibility information across the autoload.
Do not lose existing constant visibility when autoloading
This copies the private/deprecate constant visibility across the
autoload. It still is backwards compatible with setting the
private/deprecate constant visibility in the autoloaded file.
However, if you explicitly set public constant in the autoloaded
file, that will be reset after the autoload.